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

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
По умолчанию JoomShopping суммирует, как я понимаю, по такому принципу:

(Цена Товара1 * Количество этого товара) + (Цена Товара2 (если в корзине есть и другие товары) * Количество этого товара) + Налог + Стоимость доставки + Стоимость оплаты (например, процент банка за онлайн платёж) = ВСЕГО К ОПЛАТЕ.

Как сделать, чтобы на странице подтверждения заказа ВСЕГО К ОПЛАТЕ отображалась по описанной выше логике (то есть, по умолчанию), а в разделе JoomShopping "Заказы" и на странице клиента "Мои заказы" суммировались только товары и их количество? То есть, чтобы товары не суммировались с налогом, доставкой и оплатой:

(Цена Товара1 * Количество этого товара) + (Цена Товара2 (если в корзине есть и другие товары) * Количество этого товара) = ОБЩАЯ СУММА ЗАКАЗА(ов).
« Последнее редактирование: 19.07.2015, 19:36:21 от Anton shop »
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Тогда получится что если я подтверждаю заказ на 5000 руб., а в личном кабинете вижу 4000 руб. то я чисто психологически уже не буду готов расстаться с этой тысячей, когда придет время платить.
Это плохая идея и я очень рекомендую Вам от нее отказаться.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Anton shop

  • Захожу иногда
  • 261
  • 1 / 0
Тогда получится что если я подтверждаю заказ на 5000 руб., а в личном кабинете вижу 4000 руб. то я чисто психологически уже не буду готов расстаться с этой тысячей, когда придет время платить.
Это плохая идея и я очень рекомендую Вам от нее отказаться.
В этом вы правы, но есть и другой тонкий момент: если использовать накопительную скидку Cumulative discount (расширение https://www.webdesigner-profi.de/joomla-webdesign/shop/addons/cumulative-discount.html?lang=en , то она суммирует не только товары в заказе, а и всё подряд, что только можно (стоимость упаковки, доставки, оплаты и т.д.).

Таким образом, нужно либо повышать условия накопления скидок (например, не от 5000 до 10000, а уже от 10000 до 15000 минимально, чтобы получить скидку 5%), либо отказаться от накопительной системы, потому что это тоже психологически не мотивирует, так как покупателю кажется, что он вряд ли будет покупать на такую сумму.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
есть и другой тонкий момент: если использовать накопительную скидку

И поэтому надо навертеть все то, о чем вы написали в первом посте? Вместо того, чтобы поменять логику накопительной системы? Не логично.

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

Вывод номера телефона в списке заказов

Автор sifoz

Ответов: 8
Просмотров: 2826
Последний ответ 25.11.2023, 00:58:54
от nevigen
Какое событие для плагина срабатывает в админке в списке заказов?

Автор Dolphin4ik_1

Ответов: 1
Просмотров: 494
Последний ответ 12.04.2022, 21:53:00
от kit2m2
Комментарий при смене статуса заказа в список заказов

Автор semak85

Ответов: 0
Просмотров: 724
Последний ответ 06.10.2021, 13:13:20
от semak85
Изменить письмо-заказ

Автор mesmer

Ответов: 14
Просмотров: 6066
Последний ответ 22.07.2021, 17:12:30
от ureel
JoomShopping "Бесплатная доставка для заказов больше" + использование купонов

Автор xxvovan88xx

Ответов: 1
Просмотров: 1160
Последний ответ 18.05.2021, 15:23:00
от xxvovan88xx