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

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Простые жизненные советы
« : 11.06.2013, 20:22:07 »
Понравилась подборка. Со всем согласен!
Спойлер
[свернуть]
Создание сайтов, шаблонов, помощь в решении проблем.
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Простые жизненные советы
« Ответ #1 : 11.06.2013, 20:56:41 »
Да, особенно п.п. 7, 8 и 12 выполняю неукоснительно )
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Простые жизненные советы
« Ответ #2 : 11.06.2013, 21:01:21 »
Эх, я на все 100% только 7 и 8 выполняю. Остальные взял на заметку. Вернее даже записал, следуя правилу 16
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Простые жизненные советы
« Ответ #3 : 11.06.2013, 21:08:47 »
Эх.. а я не ложусь спать.. и мысли не записываю.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Простые жизненные советы
« Ответ #4 : 11.06.2013, 21:19:07 »
Жизнь нельзя свести с набору статических правил. Ни одно правило не может быть на 100% правильно в какой-то конкретной ситуации.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Простые жизненные советы
« Ответ #5 : 11.06.2013, 21:19:51 »
Цитировать
7. Не смотрите телевизор. Никогда.
увы скучаю по этому пункту, помню как в детстве на новый год смотрел всякие рождественские фильмы (в стиле один дома) и мультфильмы, а сейчас, инет 100 мегабит, за 10 минут можно скачать любой фильм и что угодно посмотреть и ничто не радует ( скучно ((
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Простые жизненные советы
« Ответ #6 : 11.06.2013, 22:53:37 »
Цитировать
12. В непонятных ситуациях всегда ложитесь спать.
Это как-то само собой, если проблема не решается - утро вечера мудреннее. Даже удивился, что это не только моё мировозрение... :)
Цитировать
4. Не возвращайтесь к людям, которые вас предали. Они не меняются.
Вот, наверное, единственный пункт, который меня смущает. Под "предали" можно разное подразумевать...
А, ну и
Цитировать
15. Говорите правду, и тогда не придется ничего запоминать.
трудноисполнимо, хоть и правильно...
Создание сайтов, шаблонов, помощь в решении проблем.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Простые жизненные советы
« Ответ #7 : 11.06.2013, 22:58:44 »
Жизнь нельзя свести с набору статических правил. Ни одно правило не может быть на 100% правильно в какой-то конкретной ситуации.
Да ну? Существуют же "моральные нормы" в конкретном обществе. В какой-то конкретной ситуациии люди от них отступают, по в лучшем случае принципу "шкурка вычинки стоит", а в худшем - "в своём глазу и бревна не видно...", но это не значит, что правильно...
Создание сайтов, шаблонов, помощь в решении проблем.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Простые жизненные советы
« Ответ #8 : 11.06.2013, 23:08:12 »
Насчет дня рождения - верно конечно, но по сути - пустяк.
ЗЫ. Как раз во время стартпоста фильм "Остров" (Лунгина) пересмотрел.
*

Aleks.Denezh

  • Живу я здесь
  • 3401
  • 428 / 4
Re: Простые жизненные советы
« Ответ #9 : 11.06.2013, 23:48:25 »
Кстати а у кого будут идеи насчет 7-го пункта? почему никогда не смотреть телевизор?)
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: Простые жизненные советы
« Ответ #11 : 12.06.2013, 02:14:58 »
Кстати а у кого будут идеи насчет 7-го пункта? почему никогда не смотреть телевизор?)
Наверное, потому же, почему Преображенский не советовал читать советских газет перед обедом - пищеварение будет лучше. В смысле, не способен критически фильтровать информацию - не читай/не смотри.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Простые жизненные советы
« Ответ #12 : 12.06.2013, 08:05:46 »
Да ну? Существуют же "моральные нормы" в конкретном обществе. В какой-то конкретной ситуациии люди от них отступают, по в лучшем случае принципу "шкурка вычинки стоит", а в худшем - "в своём глазу и бревна не видно...", но это не значит, что правильно...
Да ну? "Не убий". Нарушил - преступник. Во время войны - герой.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Простые жизненные советы
« Ответ #13 : 12.06.2013, 09:35:20 »
Да ну? "Не убий". Нарушил - преступник. Во время войны - герой.
А. Вы вон как глобально... Добро и зло субьективные понятия. В вашем примере уже скорее правило меняется...
Ну, а касательно темы - правила и советы немного разные вещи...
Насчёт вежливости ещё нравится
"Ничто не стоит так дёшево и не ценится так дорого, как вежливость..."
Создание сайтов, шаблонов, помощь в решении проблем.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Простые жизненные советы
« Ответ #14 : 12.06.2013, 10:08:35 »
Да ну? "Не убий". Нарушил - преступник. Во время войны - герой.
Ну это вы сильно в сторону ушли. Вышеописанные правила справедливы по-моему всегда.
«Не смотреть телевизор». Нарушил — преступник. Во время войны — герой.
*

Langoliers

  • Давно я тут
  • 621
  • 67 / 2
  • Если б Я изучал людей, то был бы паразитологом
Re: Простые жизненные советы
« Ответ #15 : 13.06.2013, 10:09:23 »
Бабы - зло. Ну их нахер ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Практические советы новичку(ам)

Автор shurakana

Ответов: 5
Просмотров: 1337
Последний ответ 30.09.2014, 17:08:53
от shurakana