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

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Прошу помочь (или подсказать), как решить следующую задачу. При покупке товара я завел атрибуты (пробовал и зависимые и независимые), которые меняют цену единицы товара в зависимости от его количества. Пользователю предъявляется выпадающий список, где он выбирает нужное ему количество товара. При этом цена за единицу правильно меняется, как у меня заведено. Пусть он выбрал 5 единиц в выпадающем списке (допустим по цене 100 рублей).
Но есть еще в карточке товара при покупке поле "Количество" и клиент ввел в нем другое  значение. Например, 3 (для такого количества товара цена за едницу 150 рублей).

Что мы теперь видим при переходе в корзину ? Количество единиц товара = 3, но цена для единицы товара стоит 100 рублей, как при заказе 5 единиц.

Получается нестыковка. Подскажите подход к решению задачи.

По-моему, правильно было бы, чтобы при выборе из выпадающего списка значения, зависящего от количества товара, и при этом автоматически менялось значение поля "Количества" в карточке при покупке товара.

« Последнее редактирование: 09.04.2013, 19:40:37 от FIORD_CMS »
*

avduevsky

  • Захожу иногда
  • 61
  • 0 / 0
  • topall.com.ua
То есть, у Вас два поля количества товара, добавили выбор количества еще атрибутами?


Правильно ли я Вас понял? И можно ссылку?
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
*

avduevsky

  • Захожу иногда
  • 61
  • 0 / 0
  • topall.com.ua
Для удобства клиенту, имхо, Вам необходим аддон nevigen'a (не реклама)
http://joomlaforum.ru/index.php/topic,257443.0.html

Присутствие двух полей (атрибут количества товара и непосредственно стандартное количество товара) я считаю нелогичным, т. к. это запутывает клиента - зачем два поля, какая цена реальная и т. д.

Я же правильно понял, товар это и есть лицензия?
*

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Вы абсолютно правы: два поля не нужны. Но значение количества из выпадающего списка меняет только цену за единицу товара, а не переносится в корзину. Если бы оно переносилось (его значение) в корзину, то и вопросов бы не было. А в корзину переносится только второе поле "Количество", вводимое в поле ввода.

Про платные разработки от nevigen я в курсе. Возможно прийдется воспользоваться. Но пока пытаюсь сделать сам.
*

nevigen

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

FIORD_CMS

  • Захожу иногда
  • 119
  • 3 / 0
Ваш совет подсказал мне простое решение - Использовать поле "Дополнительная цена" в карточке товара и проблема решена. Спасибо.

BTW:  где поле "Оптовая цена" я пока не нашел .  Где оно ?

И еще замечание для разработчиков ЖШ: если использовать в карточке товара шаблон, отличный от default (даже если это точная копия шаблона default), то при показе на сайте товар с дополнительной ценой правильно не отображается ("картинка плывет во все стороны" и выводится какая-то абракадабра).
« Последнее редактирование: 11.04.2013, 16:04:20 от FIORD_CMS »
*

nevigen

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

Уведомление о превышении доступного количества товара

Автор goga_pgasovav

Ответов: 1
Просмотров: 839
Последний ответ 03.02.2025, 18:48:10
от kit2m2
Артикул или код товара?

Автор goga_pgasovav

Ответов: 3
Просмотров: 1086
Последний ответ 28.11.2024, 19:03:59
от goga_pgasovav
Обновление количества товаров в корзине без кнопки "Обновить корзину"

Автор kit2m2

Ответов: 4
Просмотров: 2806
Последний ответ 23.07.2024, 12:23:33
от Шрек
Странная задача: получить псевдоним товара по его ID в шаблоне статьи

Автор goga_pgasovav

Ответов: 4
Просмотров: 1543
Последний ответ 04.07.2024, 13:06:45
от goga_pgasovav
Ошибка при изменении статуса товара

Автор itbc

Ответов: 4
Просмотров: 1346
Последний ответ 08.05.2024, 10:31:16
от itbc