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

pH43

  • Захожу иногда
  • 335
  • 8 / 1
При покупке товара с атрибутами клиентку приходят даже те атрибуты, которые он не выбирал, получается так (товар для примера):

Диван - 35000 руб.
Без тумбочки
Без пуфика
Без столика
Два светильника
Комод
Без коврика

Атрибуты независимые, и, чтобы они были необязательными к выбору, к каждому добавил "Без ...." с ценой 0 руб.
Поэтому, собственно, на емейл и покупателю и админку приходит вот такая длинная цепочка.

Подскажите, пожалуйста, на каком этапе можно подловить "формирование списка" атрибутов? Можно как-нибудь "скрыть" или запретить вывод первых значений атрибутов, чтобы они не отображались в приходящем письме?
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
orderemail.php
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
В orderemail.php , на сколько я знаю, можно контролировать просто вывод атрибутов, как осуществить проверку там - не представляю.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Блин, пока не добрался до этого, точно не могу сказать, но у атрибутов должны быть значения, value="1" (по умолчанию или не выбран) value="2" (выбранный) попробуй на основе этих данных проверку замутить в orderemail...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
Единственное, что в orderemail.php отвечает за вывод атрибутов:
Код
  <div class="jshop_cart_attribute">
                <?php print sprintAtributeInOrder($prod->product_attributes)?>
                <?php print sprintFreeAtributeInOrder($prod->product_freeattributes)?>
                <?php print sprintExtraFiledsInOrder($prod->extra_fields)?>
  </div>
                <?php print $prod->_ext_attribute_html;?>

Не совсем понимаю, какого плана здесь может быть проверка?
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
Блин, пока не добрался до этого

shurakana, ещё не добрались, случаем, до решения проблемы?)
« Последнее редактирование: 18.11.2014, 22:52:56 от pH43 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор goga_pgasovav

Ответов: 1
Просмотров: 625
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Атрибуты в functions.js

Автор avantyrist

Ответов: 31
Просмотров: 12444
Последний ответ 19.10.2024, 16:48:10
от newalex
Атрибуты - "Внимание выберите параметры"?

Автор konsty

Ответов: 16
Просмотров: 4809
Последний ответ 12.05.2023, 13:57:21
от art22
Не сохраняются добавленные атрибуты

Автор Alex_iPod

Ответов: 3
Просмотров: 914
Последний ответ 17.04.2023, 22:41:07
от victorantoniak
Характеристики, атрибуты, свободные атрибуты.

Автор Geetler

Ответов: 20
Просмотров: 7679
Последний ответ 24.11.2022, 20:47:04
от Mister Shadow