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

trio

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
  • Помогу со стилями CSS
Функция указанного адона - своя дополнительная цена для каждого товара.
Если клиент в группе где назначена доп цена - ему отображается товар с доп. ценой
Если еще и в общей группе есть скидка - то она не учитывается а выводиться доп цена.
Нужно подправить адон чтобы результат считался по формуле: Доп цена - цена группы = цена на сайте.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Доработка адона Product price for User Group
« Ответ #1 : 02.02.2013, 01:59:03 »
а можете пояснить относительно того зачем назначать группе цену ?
если уже есть встроенный функционал предоставления скидки для группы ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

trio

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
  • Помогу со стилями CSS
Re: Доработка адона Product price for User Group
« Ответ #2 : 02.02.2013, 15:46:32 »
Для того, чтобы дать дополнительную скидку оптовым покупателям

*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Доработка адона Product price for User Group
« Ответ #3 : 02.02.2013, 16:11:58 »
честно ?
ничего не понял из логики. вернее слишком путано, сложно.
Может все таки проще ?
Есть группа у нее есть скидка.
Если товар надо дать дополнительную скидку для опта..
то дайте товару допцены.
1 - 5  - 2%
6 - 10 - 3%
и т.д.

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

trio

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
  • Помогу со стилями CSS
Re: Доработка адона Product price for User Group
« Ответ #4 : 03.02.2013, 00:01:37 »
доп цена будет работать для всех без исключения,
а мне нужно для конкретных груп.
Например для обычных покупателей мне не нужна доп.цена
а для групп "Оптовые покупатели" уже нужно чтобы срабатывала доп цена

Почему?
Сайт ориентирован не на розничные продажи а на оптовые.
Чем больше оптовый покупатель берет, тем больше скидка на опте.

Также доп.цена для опта не подходит, клиенту должны отображаться цены со скидкой когда он входит на сайт под своим логином.
« Последнее редактирование: 03.02.2013, 00:10:07 от trio »
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Re: Доработка адона Product price for User Group
« Ответ #5 : 03.02.2013, 09:34:32 »
Немного от себя.
Аддон конечно полезный. Ситуация такая:
Имеется несколько групп покупателей (обычный, дилер, оптовик и т.д.), имеется несколько групп товара (цацки золотые, цацки серебряные и т.д.). Для золотых цацек мы можем установить скидки по группам пользователей 0%, 5%, 8%. Для серебряных 0%, 3%, 5%. В стоковой версии такого не сделать.
А теперь немного негатива: и в этом аддоне тоже самое.
Мы можем указывать только конкретную цену для конкретного товара конкретной группе покупателей. НЕ ПРОЦЕНТ СКИДКИ.
Ладно, все товары забили, цены установили. Магазин работает. Следующий логический шаг в жизни любого магазина - обновление прайсов. И тут ньюанс. Цена обновляется только базовая. Цены для групп пользователей остаются те, которые забивали вручную. Т.е. нам необходимо опять заходить в каждый товар, у которого произошли изменения в цене и пререназначать цены групп покупателей по новой. В 99,99% случаев процент скидки у групп покупателей остается тот же. Соответственно куда проще единожды забив скидку не заботиться о перерасчете стоимости в денежном эквиваленте.
Конечно следующим шагом к воплощению задумки мог бы стать импорт-экспорт от разработчиков, где уже учитывается возможность импорта цен для групп покупателей. Но, тут уже вмешивается человеческий фактор. При манипуляциях со строками столбцами в екселе может быть допущена ошибка, и благо если в магазине небольшое количество товара и можно отследить косяк, а если более 10000 позиций....
PS. Для себя переделал этот аддон под проценты. Осталось разобраться с обновлением цен групп пользователей после импорта.
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

SityXXX

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Доработка адона Product price for User Group
« Ответ #6 : 03.10.2013, 10:55:54 »
а можете пояснить относительно того зачем назначать группе цену ?
если уже есть встроенный функционал предоставления скидки для группы ?
Если нету фиксированного процента скидки. Например для одного товара скидка идет: 2%,3%,5%,7% - соответственно групе а для другого: 1%,2%,3%,4%.
Не всегда можно дать скидку на все товары одинаковую в процентах, иногда надо просто в ценах.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Доработка адона Product price for User Group
« Ответ #7 : 03.10.2013, 11:03:47 »
перед тем как отвечать смотрите на даты постов... :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

SityXXX

  • Осваиваюсь на форуме
  • 23
  • 1 / 0
Re: Доработка адона Product price for User Group
« Ответ #8 : 03.10.2013, 11:10:32 »
перед тем как отвечать смотрите на даты постов... :)
Да ладно, может думаю Вам интересно станет.
*

dron

  • Завсегдатай
  • 1581
  • 16 / 10
Re: Доработка адона Product price for User Group
« Ответ #9 : 25.11.2014, 22:48:33 »
Добрый день. Вопрос к людям, купившим данный аддон.
У меня не обычная система ценообразования: на некоторые товары цены в рублях, на другие в долларах. Скажите, судя по скрину, в этом аддоне есть привязка к валюте, установленной по умолчанию. Так ли это?

Заранее спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться