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

protshop_ru

  • Новичок
  • 9
  • 0 / 0
Добрый день, форумчане. Являюсь разработчиком сайта по продаже спортивного питания на развес при помощи  joomshoping. Цены на позицию имеют следующий вид:

Креатин моногидрат

150гр - 170.00 руб
250гр - 260.00 руб
500гр - 490.00 руб
1000гр - 890.00 руб

Как сделать так что бы упаковка была фиксированной, цена на каждый объём отличалась, а кол-во товара списывалось от общего кол-ва на складе?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
цена за грамм
кол-во  = кол-ву грамм на развес.

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

protshop_ru

  • Новичок
  • 9
  • 0 / 0
Через зависимые атрибуты не получится списание из общего объёма
*

protshop_ru

  • Новичок
  • 9
  • 0 / 0
Через свободные атрибуты вы предлагаете, чтобы клиент писал объем заказа?
Это не очень удобно, гораздо удобней-выбрал формат упаковки (150/250/500...гр) и тебе показывают цену за этот объём при этом списание ведется из общих объёмов по складу. Спасибо за помощь, но нужно что бы удовлетворяло этим задачам.
Может тот кто продаёт чаи или ещё что то в этом роде сталкивались со схожей задачей.
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
у автора JoomShopping был платный плагин, который пересчитывает стоимость в зависимости от значения свободного атрибута
остаётся заменить текстовое поле атрибута на селекс с (150/250/500...гр)
*

protshop_ru

  • Новичок
  • 9
  • 0 / 0
Так значение текстового атрибута все равно вводит клиент, здесь решающее значение имеет что бы он меньше думал...а это решение не является интуитивным, т.е. пересчитать то оно может и пересчитает, но если он введет 278 грамм, а у меня упаковки по 250. Если я правильно понял ваше сообщение.
*

protshop_ru

  • Новичок
  • 9
  • 0 / 0
А это возможно в рамках свободных атрибутов?
*

protshop_ru

  • Новичок
  • 9
  • 0 / 0
Спасибо. Жаль что этого я не умею, но поищу как это сделать. Значит через свободные атрибуты можно сделать варианты выбора упаковки по весу и будет произведён пересчет цены, в зависимости от этого веса, а клиенту ничего не нужно будет вводить, просто выбрать из списка? эх....если не найду бесплатных решений этой проблемы, придется покупать плагин...как его называют то?
*

ViktorMah

  • Захожу иногда
  • 252
  • 30 / 0
вроде это ваш плагин free-attribute-calculate-price
хотя для свободных атрибутов там немного плагинов
free-attribute-type
free-attribute-calculate-as-m3
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT On fly image handler изображения товара JoomShopping в webp на лету

Автор sergeytolkachyov

Ответов: 13
Просмотров: 4372
Последний ответ 29.01.2025, 20:38:38
от sergeytolkachyov
Видео с Youtube вместо картинки на карточке товара

Автор ksena

Ответов: 35
Просмотров: 10208
Последний ответ 08.10.2024, 04:26:36
от kit2m2
Условие для кол-ва товара больше нуля

Автор kik84

Ответов: 3
Просмотров: 1335
Последний ответ 16.02.2024, 13:33:24
от kit2m2
Как сделать файлы для продажи доступными для скачивания при любом статусе заказа?

Автор UNh0ly

Ответов: 4
Просмотров: 2176
Последний ответ 18.09.2023, 09:10:17
от ИммоБокс
Убрать модуль в карточке товара JoomShopping

Автор alexkraym

Ответов: 35
Просмотров: 5778
Последний ответ 21.08.2023, 07:17:53
от delchev