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

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Камрады, прогуглил все что можно было - но ничего не нашел по своей теме. У кого-нибудь возникала необходимость в дублировании полей заказа одного типа - например поля фамилия (чтобы поля могли добавляться по нажатию на кнопку "+" или выбор кол-ва полей был бы изначально передан например из всплывающего окна) - значения полей при этом будут разные?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Дублирование полей JoomShopping
« Ответ #1 : 13.11.2015, 11:42:17 »
а какое практическое применение?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #2 : 13.11.2015, 12:13:43 »
Требуется данный функционал для следующего: например некий товар или услуга покупается или берется в аренду #№ кол-вом людей - всех их необходимо указать в заказе по отдельности каждого - с его идентификационными данными, разными адресами и прочими разными атрибутами, которые относятся к данной категории заказа.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Дублирование полей JoomShopping
« Ответ #3 : 13.11.2015, 12:28:08 »
складчина ? :)

такого не встречалось... даже не уверен что возможна такая реализация...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #4 : 13.11.2015, 12:38:30 »
Там в тоже не встречал - конечно не исключено что как-то криво формулировал запрос. Поле как таковое добавить можно - но можно ли его потом сделать повторяющимся с присвоением разных идентификаторов в таблице (иначе думаю никак вообще).
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #5 : 13.11.2015, 12:56:13 »
Пока в голову лезет только попытка реализации через Детальный список атрибутов товара для JoomShopping - а вот правильно или нет это...
https://nevigen.com/ru/addons/detialed-product-attribute-list.html
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Дублирование полей JoomShopping
« Ответ #6 : 13.11.2015, 13:13:04 »
не
Там в тоже не встречал .....
т.
:) я имел ввиду не место поиска, а принцип который формируется.

можете использовать свободные атрибуты чтобы вносить имена.
но это не решает вопроса... заказ вяжется к 1 пользователю.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #7 : 13.11.2015, 13:45:59 »
Впринципе тоже нормальный вариант реализации - но тогда возникает следующий вопрос - как добавлять кол-во требуемых аттрибутов? Есть возможность под спойлер загнать или еще лучше кнопку "+/добавить" повесить рядом с заполняемым полем?
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #8 : 26.11.2015, 17:30:56 »
Ни у кого нет идей как можно дублировать свободные аттрибуты на странице по нажатию на кнопку с символом + или словом добавить. Для понимания чего хочется добиться в идеале:
цвет футболки:
          зеленая (кнопка добавить, которую нажимаешь)
появляется еще одно поле для указания нового цвета
          синяя  (кнопка добавить, которую нажимаешь)
появляется еще одно поле для указания нового цвета
          оранжевая  (кнопка добавить, которую нажимаешь)
появляется еще одно поле для указания нового цвета
          зеленая футболка в синюю полоску с красным квадратиком на спине и серым цилиндром на фронте  (кнопка, которую нажимаешь)
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #9 : 26.11.2015, 17:39:14 »
Именно в самом заказе необходимо указать рэндомное кол-во полей 1го свободного аттрибута (длинну рэндома в процессе оформления определяет сам клиент) - т.е. сколько раз нажал на кнопку добавить - столько полей для заполнения и появилось + 1 (которое по дефолту с самого начала присутсвует)
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #10 : 13.12.2015, 17:25:50 »
Я так понимаю что вообще вариантов решения что ли нет кроме как наклонировать изначально №%* кол-во свободных аттрибутов? Может кто за вознаграждение сможет реализовать? Хотелось бы покрасивше все сделать - без набивания лишних полей - через кнопку с функцией добавления или через спойлер - суть в том, чтобы лишнее до нажатия было свернуто/ скрыто.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Дублирование полей JoomShopping
« Ответ #11 : 13.12.2015, 17:44:52 »
если готовы заказать коммерческую реализацию
есть коммерческий раздел.

только сформулируйте четко все.
и лучше со скринами, хоть схематичными.

тогда есть шанс, а 100500 постов читать и складывать в уме не будут
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

kit2m2

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

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
*

error648398

  • Захожу иногда
  • 168
  • 21 / 0
Re: Дублирование полей JoomShopping
« Ответ #14 : 14.12.2015, 01:45:39 »
Как по мне, самый простой способ добавить складчину - добавить поле по типу - Хотите купить за 1\10 цены ? Оставьте свой емейл в данной форме.
Те кто оставляет мыло - для каждого мыла создаем товар с групповой ценой в 1\10 ценой и покупкой с одним заказом, когда наберется 10 людей вручную оформить им заказ.
*

adreamkiller

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Re: Дублирование полей JoomShopping
« Ответ #15 : 14.12.2015, 02:22:36 »
За предложение спасибо - но невариант - если я правильно понял что реализовывать через Склад - тогда получается 1ин человек должен 10 раз забить одни и те же формы если нужно указать 10 ФИО - что не приемлемо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35716
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 629
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1405
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2049
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1359
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav