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

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Приветствую. Такой вопрос
Есть у меня в корзине своя переменная $prod['delivery'] , она есть в cart.php  и в checkout.php
Как эту переменную передать в формирование письма с заказом и в заказ в админке?
В принципе, как переменные из корзины передаются туда?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

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

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
а туда как заносятся?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

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

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Ну да, в каком файле данные заказа из корзины уходят в баз, а затем в письмо. У меня есть своя переменная, как ее провести до письма?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

dmitry_stas

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

Ragivort

  • Завсегдатай
  • 1154
  • 58 / 2
  • Такая Life
Вы имеете в виду свой контроллер написать и checkout ? или искать в J SH ?
Дозволь мне свершить то добро, которое я способен свершить, теперь, ибо я могу более не вернуться сюда.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
:) он имеет виду что надо делать,
а где, это уже  решать вам. толи в ЖШных толи писать свои.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Вы имеете в виду свой контроллер написать и checkout ? или искать в J SH ?

ну судя по тому, что вопрос был
Цитировать
в каком файле данные заказа из корзины уходят в баз, а затем в письмо
то очень похоже, что речь все таки о существующих файлах... в них надо добавить сохранение ваших полей, ну и вывод их в письмо. ну а вообще конечно плагин нужно писать, чтобы без хаков ядра было.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Не удаляются товары из корзины (Multi basket ajax)

Автор goga_pgasovav

Ответов: 0
Просмотров: 1196
Последний ответ 14.08.2024, 23:19:57
от goga_pgasovav
Отобразить название продавца в корзине, для каждого товара корзины отдельно

Автор redzoome

Ответов: 1
Просмотров: 747
Последний ответ 27.10.2022, 20:00:42
от redzoome
Приходят пустые письма и не оформляется заказ

Автор DenVeR777

Ответов: 4
Просмотров: 1156
Последний ответ 21.03.2020, 22:29:07
от nevigen
Передать значение цены товара

Автор yurykom

Ответов: 16
Просмотров: 1062
Последний ответ 07.05.2019, 22:26:16
от dmitry_stas
Как передать select option в MySQL в форме заказа?

Автор Qverty2012

Ответов: 24
Просмотров: 2552
Последний ответ 17.06.2018, 16:03:42
от Qverty2012