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

Majestro

  • Захожу иногда
  • 170
  • 29 / 8
В настройках отображения товаров есть опция

Код
Показать дополнительную цену для атрибутов 

Как её можно использовать? При включении/отключении изменений на странице товара замечено не было. Спасибо.
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Если используются независимые атрибуты

цене для атрибута (+2$)

На сайте буде - Красный (+2$)
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
А можно вместо +2$ показывать итоговую цену.

Т.е. если товар стоит 10$ то при выборе атрибута - Красный (12$)
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
А можно вместо +2$ показывать итоговую цену.

Т.е. если товар стоит 10$ то при выборе атрибута - Красный (12$)
для это придется менять основную, а дополнительная показывает только наценку
иначе получится что стоит 10
красный +12
итого 22
а не 12
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Ну как вариант может быть и так. Только тогда основная цена в карточке, категории и т.п. по нулям будет, что не айс

Просто иногда лучше чтобы при выборе атрибута было написано не сколько плюсом к основной цене, а сколько стоит красный, синий и т.п. товар. Кпримеру http://v-s-d.ru/concrete-products/stone-slabs/51/852/

сегодня копался в JS, если бы список атрибутов формировался в шаблоне, то сделать не проблема. А так придется ковырять ядро, что не хочется
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
...А так придется ковырять ядро, что не хочется

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

nevigen

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

frag79

  • Давно я тут
  • 612
  • 61 / 0
а атрибуты обязательно независимые ?
может зависимые использовать ?
и поставить в настйроках показывать цену.
Насколько понял Настройки -> Категория / Товар -> Товар (Показать дополнительную цену для атрибутов) Но для зависимых не показывает вообще ни чего.

не обязательно. скорее всего можно реализовать плагином
Может ткнете внужном направлении, а дальше я сам
*

nevigen

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

frag79

  • Давно я тут
  • 612
  • 61 / 0
на зависимых сразу меняет цену основную.

Да это понятно что меняет, но рядом с атрибутом цену не показывает.
т.е.

Цена:100 руб
Цвет: Серый, Красный ...

а надо
Цена: 100 руб
Цвет: Серый 100 руб, Красный 120 руб...
*

nevigen

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

frag79

  • Давно я тут
  • 612
  • 61 / 0
Ладно спасибо, буду копать в сторону плагина
*

shop-user

  • Захожу иногда
  • 112
  • 0 / 0
 Решился ли вопрос возможности показа цен для зависимых атрибутов?
Очень хорошо если бы была такая возможность
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
если "решился" - это чтобы был как для зависимых, то нет, не решился. и не решится. потому что не получится. если в принципе показывать все цены для атрибутов - то вот например есть плагин https://nevigen.com/ru/addons/detialed-product-attribute-list.html
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shop-user

  • Захожу иногда
  • 112
  • 0 / 0
Хорошо, спасибо !


если "решился" - это чтобы был как для зависимых, то нет, не решился. и не решится. потому что не получится. если в принципе показывать все цены для атрибутов - то вот например есть плагин https://nevigen.com/ru/addons/detialed-product-attribute-list.html
если "решился" - это чтобы был как для зависимых, то нет, не решился. и не решится. потому что не получится. если в принципе показывать все цены для атрибутов - то вот например есть плагин https://nevigen.com/ru/addons/detialed-product-attribute-list.html
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интересный прием - связывание ссылками атрибутов товара

Автор Anton shop

Ответов: 5
Просмотров: 2316
Последний ответ 21.02.2023, 12:59:21
от nevigen
Как вывести цену в Title (Joomshopping)?

Автор 8merka

Ответов: 12
Просмотров: 1550
Последний ответ 06.02.2023, 10:44:44
от marksetter
При выборе атрибутов в консоли setAttrValue is not defined

Автор Dolphin4ik_1

Ответов: 3
Просмотров: 830
Последний ответ 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