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

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Всем привет.
На сайте приключилась непонятка. Короче временная зона сайта стоит Москва, причем давно уже и все было ок время заказов и создания товаров в JoomShopping совпадало с временем по Москве. А сегодня заметил что разница стала 3 часа. То есть сохраняю товар в 21-00 а в админке стоит 18-00 . Тоже самое с заказами разница тоже в 3 часа. Пробовал вставить в шаблон
Код
<?php echo JHTML::_('date', 'now', JText::_('l, H:i,  d F Y')); ?> 
выводит правильное время по зоне Москва. Кто стыкался, что за прикол мог случиться? Вчера обновился на новую Joomla но не обращал внимание а только сегодня заметил.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
насколько я понимаю проблема именно с 3.7.0. уже была похожая тема, тоже самое писали после обновления. видимо что-то поменялось в последнем релизе Joomla.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Блин сайт долго работал на 2,5 и не было такого гемора, пока не перешел на 3 Joomla. Обновления несут только "радости" :)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
не только. но и радости да, тоже иногда бывают...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Сменил время сайта на Лондон. Эффект тот же. все равно магазин минус 3 часа. Не от Лондона :) А так же как было от Москвы минус 3 часа.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну... Joomla растет, умнеет... видимо она уже прекрасно знает, что вы все врете, и ни в каком вы не в Лондоне :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
ну... Joomla растет, умнеет... видимо она уже прекрасно знает, что вы все врете, и ни в каком вы не в Лондоне :)
Блин я за нее то рад :) Но меня с утра начальство съест :) что время не совпадает. Думал может выставить время сайта на +3 что бы это было реальным а оно не хочет с.. :)
*

misteri27

  • Захожу иногда
  • 490
  • 0 / 0
Интересно что Export YML (iMaud) выгрузки прайса для маркета указывает правильное время.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Внедрение интернет-магазина на JoomShopping в работающий сайт

Автор Sashkavtanke

Ответов: 4
Просмотров: 1669
Последний ответ 14.04.2023, 19:11:31
от IgorGeneralov
Не меняется Язык по умолчанию для сайта

Автор art68

Ответов: 10
Просмотров: 1064
Последний ответ 14.11.2022, 15:49:18
от marksetter
Время оформления заказа

Автор mreuro

Ответов: 15
Просмотров: 2286
Последний ответ 08.10.2021, 21:00:44
от ShopES
Где можно купить платный шаблон для магазина JoomShopping

Автор 10oleg

Ответов: 4
Просмотров: 799
Последний ответ 19.05.2021, 09:14:16
от nevigen
Главная страница - страница магазина. Вывод модулей

Автор misteri27

Ответов: 3
Просмотров: 559
Последний ответ 31.01.2021, 13:20:57
от misteri27