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

KingSnake

  • Захожу иногда
  • 231
  • 0 / 1
Framework с поддержкой PHP 8x
« : 07.12.2022, 10:35:03 »
Приветствую господа! Сейчас есть какой-нибудь бесплатный framework с поддержкой php 8x? Имеются 3 сайта.. На всех стоит Astroid, причем на 2 сайтах галерея, файловый менеджер, а 3й пустой - только текст и картинки. Так вот этот 3й совершенно отказывается работать с php8. Ставил Astroid, Helix 3, Helix Ultimate, T4 при любом выборе выдает ошибку "reset(): Argument #1 ($array) must be of type array, null given", переходишь на php7 все работает отлично. На других 2х стоит Astroid и эта ошибка время от времени вылетает, но я не могу понять закономерность причины, поэтому не особо критично.

Вопрос! Есть какой-то framework с поддержкой PHP 8x? чтобы поставить и не мучиться?
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Framework с поддержкой PHP 8x
« Ответ #1 : 07.12.2022, 12:14:39 »
Ультимейт работает без проблем и на 8 и на 8.1 и на 7.4
индивидуальная помощь: @SetAlexx
*

KingSnake

  • Захожу иногда
  • 231
  • 0 / 1
Re: Framework с поддержкой PHP 8x
« Ответ #2 : 07.12.2022, 13:11:27 »
Ультимейт работает без проблем и на 8 и на 8.1 и на 7.4
Странно... У меня не работает. Выдает ошибку указанную выше. А могут быть какие-нибудь проблемы на стороне хостинга?
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
Re: Framework с поддержкой PHP 8x
« Ответ #3 : 07.12.2022, 13:18:37 »
вполне возможно
индивидуальная помощь: @SetAlexx
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Посоветуйте бесплатную тему с поддержкой php8

Автор gorbi_U

Ответов: 43
Просмотров: 3928
Последний ответ 31.01.2023, 09:24:02
от gorbi_U
Помощь по framework Astroid

Автор KingSnake

Ответов: 25
Просмотров: 3790
Последний ответ 18.02.2022, 14:17:14
от KingSnake
helix3 framework выпадающее меню

Автор Gudzon

Ответов: 1
Просмотров: 1427
Последний ответ 24.12.2019, 14:49:36
от AlexB
helix3 framework редактирование кнопки helix menu

Автор xandr555

Ответов: 20
Просмотров: 2816
Последний ответ 13.12.2019, 16:25:47
от xandr555
Helix-II Framework Version 2.1.8

Автор kivik92

Ответов: 2
Просмотров: 1401
Последний ответ 23.09.2019, 07:45:12
от bayersoff