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

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Мужская мода
« Ответ #30 : 24.11.2015, 01:20:52 »
:) Не
"за исключением" всех остальных.
а "если не считать остальных". То есть, она, конечно, плохая, но лучше всех остальных.

P.S. Эту цитату чаще знают в такой редакции:
"Демократия-плохая форма правления, однако ничего лучшего человечество не придумало."
« Последнее редактирование: 24.11.2015, 01:33:44 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Мужская мода
« Ответ #31 : 24.11.2015, 01:42:21 »
Сейчас почитал немного википедию. Оказалось дейтсвительно, демократия предполагает под своей концепцией народовластие. Но один фиг мне кажется это такой же недостижимый идеал как коммунизм и всеобщее равенство.

:) Неа "если не считать остальных". То есть, она, конечно, плохая, но лучше всех остальных.

P.S. Эту цитату чаще знают в такой редакции:
"Демократия-плохая форма правления, однако ничего лучшего человечество не придумало."

Ну так об одном и том-же говорим то. Как не перефразируй смысл одинаковый.
интернет-блог: http://websiteprog.ru
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Мужская мода
« Ответ #32 : 24.11.2015, 02:05:48 »
А как по мне народу нельзя давать власть... вообще... в большинстве случаев народ нифига не понимает в политике..
вот типичный пример того когда простой народ получает власть https://youtu.be/w5bnsJJRCiA?t=18
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Мужская мода
« Ответ #33 : 24.11.2015, 02:17:43 »
Балаган..сейчас да, согласен, народ нельзя допускать к власти. Возможно в будущем будут люди более цивилизованные. Хотя, как это не печально, в плане цивилизованности,  в России в 19 веке дела обстояли даже лучше чем сейчас..да и топик то кстатии о моде вроде) Впрочем мода - это лажа:
Спойлер
[свернуть]
« Последнее редактирование: 24.11.2015, 02:25:02 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
Re: Мужская мода
« Ответ #34 : 24.11.2015, 02:29:08 »
Сейчас почитал немного википедию. Оказалось дейтсвительно, демократия предполагает под своей концепцией народовластие.
А я в школе учился.)
История древнего мира, 5 класс.
Веб-разработка: заказ. Только новая разработка.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Мужская мода
« Ответ #35 : 24.11.2015, 02:33:40 »
Хорошая у вас память, а вот у меня не очень. Особенно что касается 5-го класса и древнего мира. И да, я не был отличником в школе.
интернет-блог: http://websiteprog.ru
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться