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

denchik_h

  • Осваиваюсь на форуме
  • 18
  • 0 / 2
По каким причинам это сообщение может выводится в "нормальных браузерах (chrome, mozila)"?

Unsupported Browser

We have detected that you are using Internet Explorer 7, a browser version that is not supported by this website. Internet Explorer 7 was released in October of 2006, and the latest version of IE7 was released in October of 2007. It is no longer supported by Microsoft.

Continuing to run IE7 leaves you open to any and all security vulnerabilities discovered since that date. In March of 2011, Microsoft released version 9 of Internet Explorer that, in addition to providing greater security, is faster and more standards compliant than versions 6, 7, and 8 that came before it.

We suggest installing the latest version of Internet Explorer, or the latest version of these other popular browsers: Firefox, Google Chrome, Safari, Opera

И как это устранить?

rt_cerulean, Joomla 3.0.3 , Gantry framework 4.1.7
« Последнее редактирование: 20.02.2014, 19:10:14 от denchik_h »
*

denchik_h

  • Осваиваюсь на форуме
  • 18
  • 0 / 2
Кто нибудь вообще знаком с gantry framework?
*

denchik_h

  • Осваиваюсь на форуме
  • 18
  • 0 / 2
Частично решил проблему, отключением в панели управления gantry функцию заглушки ie7.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Framework с поддержкой PHP 8x

Автор KingSnake

Ответов: 3
Просмотров: 961
Последний ответ 07.12.2022, 13:18:37
от marksetter
Помощь по framework Astroid

Автор KingSnake

Ответов: 25
Просмотров: 3787
Последний ответ 18.02.2022, 14:17:14
от KingSnake
Куда писать unset CSS в Gantry 5 - шаблон Helium?

Автор romagromov

Ответов: 1
Просмотров: 755
Последний ответ 27.04.2021, 16:51:32
от romagromov
gantry 5 kraken

Автор vova630

Ответов: 0
Просмотров: 710
Последний ответ 10.04.2020, 21:11:42
от vova630
Gantry 5 и template override

Автор romagromov

Ответов: 0
Просмотров: 834
Последний ответ 05.04.2020, 18:41:25
от romagromov