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

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Joomla и хаки - вещи не разделимые?
« Ответ #30 : 28.03.2012, 12:20:44 »
smart, а почему ты не можешь? Раз сам соглашаешься, что MT для Joomla родной и специально настойчиво впихивается разработчиками, то и используй его. А уж если кому он не нужен и он его сам выпилит, то пусть и сам решает возникшие проблемы. Так, по крайней мере, не будет противоречий.
Вот если вы подряд не выпиливали, то использовал бы MooTools. Просто когда компонент появился, никаких MooTools не было в системе. А все версии JComments, вплоть до текущей поддерживают Joomla 1.0. Кроме того, одной из целей разработки JComments было создание компонента максимально устойчивого к внешним факторам (сторонним расширениям, шаблонам, настройкам), и привязаться к фреймворку, который многие вырезают (причем на уровне шаблона и многие пользователи даже не знают об этом) означало бы создание большого количества однотипных вопросов.

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

Darkick

  • Завсегдатай
  • 1142
  • 239 / 1
Re: Joomla и хаки - вещи не разделимые?
« Ответ #31 : 28.03.2012, 21:31:50 »
Но это ведь было давно. Уже 2.5 версия, может что поменять в будущем? ;)

Пойти на баг-треккер и повесить баг, а еще лучше - сразу прикрепить патч для его исправления.
пробовал уже раньше пару раз — меня ни разу не поняли.
В default_links.php можно поковыряться и попробовать исправить, но понять бы что они хотели исполнить тем ifом.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интеграция финансовых блогов и курсов на Joomla

Автор MihaGolovey

Ответов: 0
Просмотров: 845
Последний ответ 12.02.2025, 09:51:53
от MihaGolovey
Телеграм канал о Joomla на английском

Автор Sulpher

Ответов: 0
Просмотров: 2023
Последний ответ 30.01.2024, 23:47:50
от Sulpher
VirtueMart для Joomla 4

Автор Гоша_Компьютерный

Ответов: 0
Просмотров: 2734
Последний ответ 15.08.2022, 12:37:14
от Гоша_Компьютерный
Мысли вслух про Joomla 4

Автор Гоша_Компьютерный

Ответов: 9
Просмотров: 2562
Последний ответ 15.12.2021, 13:51:44
от sergeytolkachyov
Городской портал на Joomla?

Автор User82

Ответов: 3
Просмотров: 2532
Последний ответ 14.12.2021, 14:41:02
от khan-alex