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

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Обработка картинок атрибутов
« Ответ #30 : 21.11.2014, 12:49:38 »
вывести у соответствующего атрибута как можно?
Только если пилить контроллер и шаблон?
не очень логику понимаю, получается, что когда добавляется картинка к атрибуту, то она записывается в продукты как новый продукт с новым ID просто без атрибутов? Как пустой товар с картинками?
Не могу найти, где связывается "товар" (который на самом деле картинки к атрибуту, "дополнительные параметры атрибута") с настоящим исходным товаром? связывается, видимо по parent_id ? но никак не могу найти где...
« Последнее редактирование: 21.11.2014, 12:56:41 от ShutTap »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Обработка картинок атрибутов
« Ответ #31 : 21.11.2014, 14:22:15 »
ничего не понял...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Обработка картинок атрибутов
« Ответ #32 : 21.11.2014, 15:20:47 »
"дополнительные значения" атрибута сохраняются в БД как товар, в таблице товаров с новым ID, разница от обычного товара лишь в том, что без описания, названия и тд, и стоит paren_id, равный id товара, в котором находятся редактируемые атрибуты.
Выводятся картинки в общей куче в картинках товара, при чем вместо самих картинок товара.
я хотел выводить напротив атрибутов соответствующие картинки из "дополнительных значений".
сейчас пришел к выводу, что это никак не сделать, кроме как, например, переопределения parent_id: вместо id товара вписывать id атрибута.

вопрос заключался в том, где находится в коде указание связи между "дополнительным значением" атрибута и товаром с этими атрибутами, чтобы поменять код, сделав связь между "дополнительным значением" атрибута и атрибутом.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Обработка картинок атрибутов
« Ответ #33 : 21.11.2014, 17:01:11 »
я искренне не понимаю, о чем вы. может быть имеется в виду это: таблица #__jshopping_products_attr столбец ext_attribute_product_id
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Обработка картинок атрибутов
« Ответ #34 : 24.11.2014, 08:21:24 »
да, это, и сам код (в контроллере, lib и тд) который участвует в выводе. никак не могу найти, где происходит выборка данных
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Обработка картинок атрибутов
« Ответ #35 : 24.11.2014, 16:42:35 »
ладно, так и не нашел где, написал по-другому. спасибо всем за ответы)
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Обработка картинок атрибутов
« Ответ #36 : 26.11.2014, 15:00:15 »
не подскажите, где находится функция getAttributes(), которая отвечает за вывод атрибутов у администратора в редактировании товара? никак не могу найти...
« Последнее редактирование: 26.11.2014, 15:07:06 от ShutTap »
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Обработка картинок атрибутов
« Ответ #37 : 26.11.2014, 15:56:53 »
Читайте код, ведь вы разбираетесь в PHP? В конце концов, можно использовать поисковый инструмент файлового менеджера.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

ShutTap

  • Захожу иногда
  • 131
  • 0 / 0
Re: Обработка картинок атрибутов
« Ответ #38 : 26.11.2014, 16:41:20 »
нашел в tables при очередном обходе... как так пропускал столько раз. прошу прощения за беспокойство
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

tег Alt для картинок

Автор astapon

Ответов: 6
Просмотров: 1563
Последний ответ 02.05.2023, 11:16:12
от kit2m2
Интересный прием - связывание ссылками атрибутов товара

Автор Anton shop

Ответов: 5
Просмотров: 2314
Последний ответ 21.02.2023, 12:59:21
от nevigen
При выборе атрибутов в консоли setAttrValue is not defined

Автор Dolphin4ik_1

Ответов: 3
Просмотров: 828
Последний ответ 22.11.2022, 07:43:05
от kit2m2
Сортировка атрибутов

Автор misteri27

Ответов: 1
Просмотров: 1147
Последний ответ 02.09.2022, 22:17:18
от victorantoniak
Разделить вывод атрибутов

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 511
Последний ответ 25.02.2021, 12:53:33
от Dolphin4ik_1