Новости 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 Ответов
  • 891 Просмотров
*

RumusBin

  • Захожу иногда
  • 181
  • 0 / 0
Доброго времени!
 Совсем недавно столкнулся с необходимостью добавить атрибуты к товарам на ЖШ и сразу появился вопрос.
 Пример: есть пальто, атрибут Размер (можно выбрать), а можно ли к выбранному размеру добавить еще атрибут с Цвет? В смысле, если выбран Размер, то в атрибуте Цвет отображались только этому размеру доступные варианты?
 Просто пробовал так создавать, при выборе размера и добавлении цвета (в карточке товара панели управления) пишет "Ошибка при добавлении атрибута".
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: как "склеить" два атрибута?
« Ответ #1 : 16.01.2017, 15:58:30 »
Нет такой взаимосвязи у атрибутов. Только отдельным расширением.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: как "склеить" два атрибута?
« Ответ #2 : 16.01.2017, 16:13:50 »
только связкой зависимых атрибутов.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

RumusBin

  • Захожу иногда
  • 181
  • 0 / 0
Re: как "склеить" два атрибута?
« Ответ #3 : 16.01.2017, 16:24:34 »
только связкой зависимых атрибутов.
То есть это можно сделать предустановленными средствами ЖШ или как заметили в посту выше, только через стороннее расширение?
*

kit2m2

  • Живу я здесь
  • 3366
  • 276 / 0
  • Беру сайты на полное сопровождение
Re: как "склеить" два атрибута?
« Ответ #4 : 16.01.2017, 16:29:28 »
Вам нужна зависимость опции одного атрибута от опции другого - такого в JoomShopping - НЕТ.
Расширения для JoomShopping | Ссылка на Телеграм-канал | Сайты и магазины под ключ: Дизайн, Верстка, Программирование (расширения на заказ), СЕО-оптимизация, Сопровождение, Перенос на Joomla 4+ (5+) и JoomShopping 5+
*

RumusBin

  • Захожу иногда
  • 181
  • 0 / 0
Re: как "склеить" два атрибута?
« Ответ #5 : 16.01.2017, 16:35:51 »
Вам нужна зависимость опции одного атрибута от опции другого - такого в JoomShopping - НЕТ.
Возможно я не совсем корректно описал свое желание, Но все же это действительно делается, только нужно сразу уже выбирать все зависимости атрибутов при добавлении. А я сначала добавил атрибут "Размер", потом хотел добавить к нему цвет! Так не работает. Вот если сразу выбрать"Размер" и нужный "Цвет" при добавлении, тогда все норм! ))) Спасибо!!
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: как "склеить" два атрибута?
« Ответ #6 : 16.01.2017, 16:40:54 »
пжлст :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: как "склеить" два атрибута?
« Ответ #7 : 16.01.2017, 17:23:29 »
я сначала добавил атрибут "Размер", потом хотел добавить к нему цвет! Так не работает. Вот если сразу выбрать"Размер" и нужный "Цвет" при добавлении, тогда все норм
верно. зависимые атрибуты - товару надо сразу задавать нужную связку всех нужных атрибутов. если в будущем понадобится добавить в товар еще какой то, то придется из товара удалять уже добавленные. это конечно не очень удобно, но технически просто по другому не реализовать.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с условием переключения опций атрибута [РЕШЕНО]

Автор kit2m2

Ответов: 15
Просмотров: 1014
Последний ответ 07.04.2020, 14:48:18
от sivers
Не меняется цена товара при выборе атрибута

Автор Esmarmix

Ответов: 4
Просмотров: 1293
Последний ответ 06.07.2018, 16:44:07
от Esmarmix
[Решено]Не учитывается цена независимого атрибута в корзине

Автор Trime

Ответов: 14
Просмотров: 1109
Последний ответ 16.04.2018, 11:29:32
от Trime
[Решено]Выбор атрибута

Автор Trime

Ответов: 11
Просмотров: 1006
Последний ответ 12.04.2018, 23:18:09
от Trime
Вывести скидку из цены атрибута

Автор pavel2950

Ответов: 0
Просмотров: 704
Последний ответ 01.09.2017, 13:15:19
от pavel2950