Новости 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 Гость просматривают эту тему.
  • 4 Ответов
  • 973 Просмотров
*

Andrew42

  • Новичок
  • 3
  • 0 / 0
Всем доброго дня! Не бейте тапками сильно пожалуйста, в первые не нашел ответа в интернете, и поэтому впервые задаю вопрос тут, могу накосячить  *ОХ-Х-Х* ))) Ребзя, натолкните пожалуйста на путь истинный, прямо не знаю даже приблизительно куда двигаться.

Joomla 4.3.1
Virtuemart: 4.0.12
PHP: 8.0
Версия Custom Filters: 2.14.1 (16-January-2023)
Сайт: https://avtotrend1.ru

Суть такова, что если мы перейдем на страницу "каталог" и выберем какую нибудь категорию, например "Дефлекторы" (на ней лучше всего видно), то при переходе в эту категорию вверху мы видим стандартную пагинацию VM, а слева модуль фильтра. Так вот если мы выберем в фильтре, например, марка: Acura, то он нам покажет 46 товаров без разбивки на страницы, игнорируя то что у нас стоит ограничение 15 товаров на страницу. То есть пагинация просто отваливается. Но если мы возьмем получившуюся ссылку (с уже примененным фильтром), и откроем её в инкогнито, то пагинация к нам вернется, только немного с другими классами, это будет сразу видно, к ней применятся классы шаблона, как будто стандартная Джумловская пагинация встанет. Помогите понять, как быть с этой проблемой? Либо чтобы сразу подключалась и не обрывалась стандартная Joomla пагинация, либо чтобы не отваливалась пагинация Virtuemart  ! ! !

P.S. Теперь у меня на другом компе даже при открытии ссылки с фильтром в инкогнито не появляется пагинация. В общем я вообще запутался  *suicide* (

*

kalinka76

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
  • I`m free
Такая же история. На локальном сервере всё работало, перенесла на хостинг, и фильтр потерял пагинацию. Пока только поняла, что пагинация теряется при включении https. При http все работает. Посмотрела Ваш сайт, фильтр работает. Подскажите решение, плиз
« Последнее редактирование: 21.09.2023, 13:11:39 от kalinka76 »
*

Andrew42

  • Новичок
  • 3
  • 0 / 0
Такая же история. На локальном сервере всё работало, перенесла на хостинг, и фильтр потерял пагинацию. Пока только поняла, что пагинация теряется при включении https. При http все работает. Посмотрела Ваш сайт, фильтр работает. Подскажите решение, пожалуйста

Привет! ) Короче до решения я так и не допер, все исправилось когда я не так давно обновился до VM 4.2.0. Через админку Joomla ты не обновишься, надо заходить на сайт VM, качать от туда 4.2.0, и его уже ставить через установку расширений. Я насколько понял, там сами разработчики ВМа накосячили с коннектом ядра Joomla 4.

НО! Имей ввиду, что у меня теперь появилась другая проблема, периодически на главной (Сделана в SP Page Builder) Отваливается корзина. Я пока не начал копать, но то что это произошло явно после обновления - это точно )

Хотя возможно это чисто проблема шаблона уже, еще пока не знаю. Попробуй обновиться до 4.2.0 VM, и скажи пропадет проблема, или нет )
*

kalinka76

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
  • I`m free
Благодарю за ответ! Обновиться не могу пока, так что придется ковырять. Если получится, напишу здесь. Либо искать другой фильтр(
*

Andrew42

  • Новичок
  • 3
  • 0 / 0
Благодарю за ответ! Обновиться не могу пока, так что придется ковырять. Если получится, напишу здесь. Либо искать другой фильтр(

Если так, то попробуй написать на сайте поддержки VM. Скажи что пока обновиться не можешь, но есть проблема с пагинацией. Спроси что они поменяли в версии 4.2.0 что конфликт пагинации прошел. Может натолкнут на мысли )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сломался сайт Joomla 4 после обновления одного модуля

Автор androv77

Ответов: 4
Просмотров: 1054
Последний ответ 17.05.2025, 06:12:07
от azm1n
Не работает кнопка "Сохронить" в компоненте RSSeo

Автор azm1n

Ответов: 1
Просмотров: 850
Последний ответ 15.05.2025, 07:12:26
от wishlight
Ошибка http 500 Whoops, looks like somethin после включение Отладки в настройках

Автор androv77

Ответов: 3
Просмотров: 858
Последний ответ 03.04.2025, 17:55:01
от azm1n
После обновления с Joomla4 до Joomla5 не выбирается тип пункта меню

Автор keykeeper

Ответов: 1
Просмотров: 838
Последний ответ 19.03.2025, 14:57:02
от keykeeper
После переезда с 4 на 5 версию перестал работать сайт

Автор NikoBks

Ответов: 2
Просмотров: 685
Последний ответ 07.03.2025, 17:14:28
от web1