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

warryag

  • Захожу иногда
  • 59
  • 0 / 0
Ребят, может вопрос тупой, или может не совсем сюда, но подскажите, други,
так уж случилось, что мне нужно сделать ссылки со статьи (которая на главной) на категории джум шоппинг, причем у меня не должно быть меню категорий товаров и соответственно
выдается 404 я ошибка, если кликнуть по ссылке в статье  (ссылка на категорию товаров.)
Выход - делать меню в котором будут категории меня не устроит, может как-то можно скрытое меню сделать, чтобы оно не маячило и 404я не всплывала.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: Ссылки со статьи на категории ДШ
« Ответ #1 : 11.11.2013, 00:59:27 »
Сделай новое меню служебное и делай в нем нужные тебе пункты. Само же меню не выводи модулем. Так делают всегда когда нужно красивую ссылку.
*

warryag

  • Захожу иногда
  • 59
  • 0 / 0
Re: Ссылки со статьи на категории ДШ
« Ответ #2 : 11.11.2013, 12:40:21 »
Ну не совсем я понял. А может не так объяснил. Поясню в деталях.
Есть главная страница - представлена она статьей, в которой есть картинки и ссылки на категории товаров ДШ.
Для наглядности http://zimfish.ru/ - ссылки верхние 3 штуки отдают 404 и это понятно (катамараны, каяки, лодки).
Я создал служебное меню, но теперь то у меня изменились ссылки (для примера кликните по ссылке байдарки)  теперь http://zimfish.ru/sluzhebnye-kategorii/baydarki.html - т.е. лишнее /sluzhebnye-kategorii
*

warryag

  • Захожу иногда
  • 59
  • 0 / 0
Re: Ссылки со статьи на категории ДШ
« Ответ #3 : 11.11.2013, 12:45:04 »
т.е. нужно тогда делать главной страницей это меню со служебными категориями и соответственно оно выведется на главную и соответственно на главное не отображается моя статья.

Вообще конечно головняк в том, что мне не нравится как выводятся категории ДШ, может легче подсказать как уменьшить расстояние между ссылками в ряду слева на право вот тут http://zimfish.ru/sluzhebnye-kategorii.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться