Новости Joomla

Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list

👩‍💻 Совет по Joomla: несколько значений по умолчанию в XML-формах для стандартных полей типа list.При работе над плагином возникла необходимость указать стандартный набор из нескольких элементов стандартного поля списка. И хотелось указать их в стандартном же атрибуте default для полей. Когда это нужно?Когда Ваши пользователи устанавливают плагин и НЕ заходят в настройки - в коде вы можете использовать значения по умолчанию с помощью класса Registry (писал об этом ранее) и всегда быть уверенным, что хоть какие-то жизненно необходимые параметры к вам придут всегда. 🧐 Но как сделать то же самое для интерфейса админки?Пользователя нужно направлять, предлагать очевидный работоспособный сценарий для начала, а дальше он уже сам разберется. Когда человек заходит в параметры свежеустановленного плагина в Form ещё нет данных и параметры по умолчанию выставляются из атрибутов default в xml-полях.
<field name="showdesc" type="radio"                       label="PLG_CFI_PARAM_SHOWDESC"                       class="btn-group btn-group-yesno"                       default="1">                    <option value="0">JNO</option>                    <option value="1">JYES</option>                </field>
Здесь по умолчанию будет включено "Да". И если пользователь не переключит параметр, то при сохранении мы ожидаемо получим "да" в params плагина.Для поля списков type=&quot;list&quot; можно указать значение по умолчанию и многие знают, что его можно указать только одно.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default="id"                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
Но у нас поле с множественным выбором (атрибут multiple) и хотелось бы указать несколько значений по умолчанию...Оказывается, так можно сделать. Для этого в атрибуте default нужно указать json с нужными параметрами в виде {int}key : {string} value.Например, default='{"0":"id","1":"title"}'.
<field type="list"                       name="article_fields"                       label="article_fields"                       description="article_fields_desc"                       layout="joomla.form.field.list-fancy-select"                       multiple="true"                       default='{"0":"id","1":"title"}'                >                    <option value="id">id</option>                    <option value="title">title</option>                    <option value="alias">alias</option>                    <option value="introtext">introtext</option>                    <option value="fulltext">fulltext</option>                    <option value="state">state</option></field>
⚠️ Обратите внимание на кавычки! Поскольку json_decode не понимает одинарные кавычки собственно json нужно писать с двойными, а значение для атрибута default писать в одинарные.🙏 За подсказанное решение огромное спасибо участникам нашего сообщества - разработчикам Дмитрию Васюкову (@fictionlabs) и Игорю Бердичевскому (@septdir).@joomlafeed#joomla #разработка #webdev #development

0 Пользователей и 1 Гость просматривают эту тему.
  • 8 Ответов
  • 2261 Просмотров
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Добрый день. На сайте экстремально много характеристик и уже возникали проблемы с сайтом  . Теперь не могу сохрнаить/добавить характеристику, всегда выдает ошибку Unknown column 'Array' in 'where clause' SQL=SELECT * FROM #__jshopping_categories WHERE Array = '1' . Однако через импорт или массовое измнение товаров, все же можно изменить какие то параметры. Joomla 3.6.2 JoomShopping 4.14.2
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
бяда.. db checker не помогает?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
WHERE Array = '1'
ну судя по всему вместо переменной подставляется массив
посмотрите / поотключайте плагины для магазина, если такие есть и если не лезли в само ядро магаза
*

buto

  • Давно я тут
  • 570
  • 1 / 0
бяда.. db checker не помогает?
http://prntscr.com/cshctq нажимаю исправить и выскакивает ошибка Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs SQL=ALTER TABLE `#__jshopping_products` ADD `extra_field_197`varchar(255) NOT NULL
http://prntscr.com/cshd66 похоже вот где собака зарыта
попробую удалить эту характеристику вручную 197
Цитировать
ну судя по всему вместо переменной подставляется массив
посмотрите / поотключайте плагины для магазина, если такие есть и если не лезли в само ядро магаза
в ядро не лез. Уже часа 4 отключаю все плагины, вроде ничего не помогло
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
А ничего и не поможет. Больше 197 характеристик не создадите. Уже как то поднимал этот вопрос, а в ответ молчок.

По моему Dmitry_Stas уже давал подсказку (что-то нужно править в ядре JoomShopping). Поищите на форуме.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

buto

  • Давно я тут
  • 570
  • 1 / 0
А ничего и не поможет. Больше 197 характеристик не создадите. Уже как то поднимал этот вопрос, а в ответ молчок.

По моему Dmitry_Stas уже давал подсказку (что-то нужно править в ядре JoomShopping). Поищите на форуме.
Так мне бы цены поменять хотя бы ) массово получается (когда выделяешь много товаров), почему не получается по одному, не знаю. P.S. у меня на instrumenty.by 297 характеристик, и работает ок. Тут вопрос в виде характеристик :текст, опция мультиопция
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Вот нашел не свое сообщение...  :( 2015 год.
Сообщение в теме
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
смените тип столбца extra_field_197 в phpMyAdmin на text, потом опять db checker
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

buto

  • Давно я тут
  • 570
  • 1 / 0
смените тип столбца extra_field_197 в phpMyAdmin на text, потом опять db checker
Сделал и обновил Extend Access https://www.webdesigner-profi.de/joomla-webdesign/shop/addons/extend-access.html?lang=en помогло. спасибо
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

undefined array key 0 (modules\mod_jshopping_categories\tmpl) при переходе php 8

Автор Юрий777

Ответов: 7
Просмотров: 1738
Последний ответ 21.08.2023, 10:59:49
от sivers
Ошибка при заполнении поля Улица/Номер дома. Как исправить ошибку?

Автор admi5575

Ответов: 9
Просмотров: 1629
Последний ответ 10.05.2023, 07:21:14
от admi5575
Unknown column 'extra_field_343' in 'field list' -не дает запустить импорт

Автор buto

Ответов: 6
Просмотров: 636
Последний ответ 06.10.2021, 12:21:34
от buto
Как убрать ошибку, помогите?

Автор Oliska76

Ответов: 19
Просмотров: 1094
Последний ответ 28.01.2021, 08:28:17
от draff
Как передать select option в MySQL в форме заказа?

Автор Qverty2012

Ответов: 24
Просмотров: 2555
Последний ответ 17.06.2018, 16:03:42
от Qverty2012