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

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
Доброго дня!

Использую плагин от nevigen по оформлению заказа в один клик, если я правильно понял, то функциональную часть плагин не трогает, только "компонует" все шаги на одну страницу, поэтому пишу тут, а не в техподдержку расширения =)

Можно ли и как реализовать всплывающее окно, или некое сообщение на этапе перехода к оплате\оформлению покупки? Например на сайте реализовано энное количество видов оплаты или доставки, но на один из них временно действует ограничение или изменение.

В частности хочу реализовать таким образом, что бы при нажатии кнопки "оформить" всплывало сообщение, по условию, в котором было бы сообщение информационного характера, если посетитель нажимает "согласен\да", то переходит к завершающей стадии оплата\оформление заявки, если нет, то возвращался на предыдущий этап, оформление заказа.

Буду рад любой полезной информации. Спасибо!
*

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
Возможно кто-то поделится ссылкой на похожую проблему, особенно полезно если ещё и решение было найдено =)
*

dmitry_stas

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

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
думаю это надо делать на базе яваскрипта, который используется при оформлении. там добавить проверку на выбранный способ оплаты и вывод текста. ну и потом в зависимости от выбора пользователя разрешить или не разрешить переход к оформлению. плюс конечно в идеале потом еще и на уровне php проверить, но судя подумаю у вас можно и без этого обойтись

Попадался ли Вам готовый код, примерного характера? Что бы разобрать его и сделать свой вариант?
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Попадался ли Вам готовый код, примерного характера? Что бы разобрать его и сделать свой вариант?
Думаю, попадался. Собственный. ;D
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
Думаю, попадался. Собственный. ;D
Спасибо за комментарий! Судя по приписке, спрашивать пример будет наивысшим хамством? =)
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Спасибо за комментарий! Судя по приписке, спрашивать пример будет наивысшим хамством? =)
Нет, ничего такого нет. Прошу прощения за offtop - виновато приподнятое настроение. ^-^
Не будь паразитом, сделай что-нибудь самостоятельно!
*

Lovrentiy

  • Захожу иногда
  • 97
  • 0 / 2
Нет, ничего такого нет. Прошу прощения за offtop - виновато приподнятое настроение. ^-^

Да всё правильно, надо гонять халявщиков, а то ишь, сами разбираться не хотят! =)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 625
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Сообщение о добавлении

Автор Harper

Ответов: 15
Просмотров: 44740
Последний ответ 16.06.2024, 23:14:52
от victorantoniak
Два поля при оформлении заказа JoomShopping

Автор kluchnikov85

Ответов: 11
Просмотров: 1157
Последний ответ 14.02.2022, 21:44:08
от nevigen
Отключить сообщение "товар добавлен в корзину."

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 573
Последний ответ 10.04.2021, 12:00:27
от Dolphin4ik_1
Зацикленый редирект при оформлении заказа

Автор IRIDON

Ответов: 3
Просмотров: 1078
Последний ответ 23.03.2020, 19:05:12
от D. Tkachenko