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

slavagoa

  • Новичок
  • 4
  • 0 / 0
Добрый день уважаемые форумчане.
Проштудировал форум, но не нашел информацию о способе реализации свободного платежа, доплаты за товар, возможности клиенту самому указывать цену и оплачивать покупку.Подскажите, пожалуйста куда копать?
Для чего это нужно, JoomShopping используется как площадка для размещения и организации возможности оплаты разнообразных товаров и услуг. Есть прайс, есть скидка, атрибуты и так далее...все работает. Но допустим клиент оплатил товар по прайсу, который уже изменился, но его не успели обновить и требуется доплатить 103 рубля 33 копейки, чтобы произошла отгрузка. Можно каким-нибудь "макаром" создать товар, где человек сам сможет указать цену, которую ему сообщит оператор и клиент получит возможность самостоятельно доплатить за товар?
*

artful knave

  • Захожу иногда
  • 68
  • 8 / 0
это не к товарам вопрос, наверно, а к модулям оплаты... вы ж можете использовать и агрегатор, и яндекс-деньги, и Webmoney и пр... так что стоит узнавать, как подключить "пожертвования". Например, у агрегатора onpay есть возможность у администратора выставлять счет на произвольную сумму.
а вообще подход "оплатил, но прайс изменился" не очень хорош - как минимум будут большие проблемы с Яндекс.маркетом, если размещаетесь там.
*

slavagoa

  • Новичок
  • 4
  • 0 / 0
Используется модуль робокасса, все работает хорошо. Других модулей не планируется использовать. Платежный модуль отрабатывает то что формирует JoomShopping, а потом передает платежную информацию в процессинг робокассы на сколько я понимаю. Доплата приведена, как пример. Задача состоит в том, чтобы средствами JoomShopping реализовать возможность клиенту указывать любую сумму, класть товар в корзину с этой указанной суммой потом пройти процедуру оформления и быть перенаправлены на оплату в робокассу (безнал. оплата). Атрибутами данную задачу я так понимаю не решить. Т.е. нужна стандартная оплата товара но с возможностью назначения клиентом своей цены... Админ магазина (сайт полноценный ИМ и пожертвования не катят), итоговый получатель платежа и клиент разные субъекты и выставление счета тут тоже не очень подходит...есть идеи как справиться с данной задачей?
*

nevigen

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

slavagoa

  • Новичок
  • 4
  • 0 / 0
Спасибо за ответ. А как думаете, если доработку заказать это реально, кто-нибудь возьмется за реализацию такого функционала? Посоветуйте, пожалуйста...сам с кодом не справлюсь.
*

artful knave

  • Захожу иногда
  • 68
  • 8 / 0
slavagoa, смотрите, я - клиент. заказываю у вас товар на 1000 руб., оплачиваю, плачу комиссию 50 руб. (ну или она ложится на ваши плечи), потом вы мне говорите, что цена на Вашем сайте Неправильная (повысилась, а Вы ее вовремя не изменили, то есть это Ваш косяк), и мне надо доплатить 100 руб. "С какого перепугу?" - думаю я, и требую вернуть мне 1050 руб. (ну или 1000, если комиссия на Вас). В любом случае из своего кармана Вам приходится вернуть 50 руб.
Хорошо, если Ваш товар настолько уникален, что клиент готов "проглотить" повышение цен, когда он уже заказал и, более того, оплатил. Но обычно это будет огромный негатив от покупателя. Проще посадить сотрудника, чтоб он каждый вечер/утро обновлял цены.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
artful knave, судя по фразе
Доплата приведена, как пример.
это вовсе не важно, и речь в принципе не о доплате.

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

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
товар доплата, стоимость 1 руб и кол-вом добивать объем можно, как предлижл ЮДмитриСтас, но это только если вам надо получить бабло.
вопрос то насколько я понимаю, что оплата еще должна проидентифицироватся как доплата по заказу _____, ну и это можно решить через свободный атрибут.
однако в любом случае, это будет отдельный заказ никак не привязанный к оформленному ранее.

ИМ - это как раз тот инструмент когда ты реально следишь за асортиментом и ценами.
я лчино НИКОГДА не покупаю в магазине если цена на сайте одна, а по телефону иная. НИКОГДА ! сразу в банлист такой магаз ставлю для себя.
нет времени на клиентов на сайте  ? значит у меня нет времени тартить на такой магазн свои бабаки. :)

ну или напиши, что цены не актуальны. уточняйте.
« Последнее редактирование: 10.09.2015, 17:32:02 от nevigen »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

slavagoa

  • Новичок
  • 4
  • 0 / 0
спасибо за ответы, есть над чем поразмыслить, по количеству тема конечно, но выглядеть криво будет. Тут как бы не простой ИМ, а привязанный к фирме, являющийся безальтернативным каналом и специализированным ресурсом.

Извините, что так поздно описываю схему (думал, что кто то уже сталкивался с такой задачей).
Как я это вижу и как понимаю, может в будущем все таки кому то пригодится...
Я понимаю, что это заморочка (в данном случае она не моя, а получателя услуги) и полный не стандарт не предусмотренный логикой продажи товара/услуги в ИМ, который все таки должен быть реализован, пускай и никто этим вариантом оплаты пользоваться не будет )))).

"Продающий" сайт является агентом фирмы т.е. по сути площадкой для чужих услуг. Наличные деньги в расчетах не используются
 
1. Есть канал оплаты безнал. через сайт со своим прайсом согласованный с предприятием (для пользователей, которые пришли через поисковую систему)
2. Есть стационарный канал (т.е. "аля" торговая точка) со своим прайсом оплата через банк, предоставление услуги по оплаченной квитанции
3. Нужен вариант третьей назначаемой цены, когда клиент приходит на точку и оплачивает на месте по средствам сети интернет через сайт

Мне поставили задачу реализовать такой вариант.
- клиент приходит на торговую точку
- клиент говорит оператору что хочет
- оператор торговой точки делает сметный расчет
- оператор предлагает клиенту в его присутствии зайти на сайт и оплатить не по цене сайта, а по цене только что составленной сметы (с кучей параметров, которых не закрыть модулем ШХГХВ), формируется что то вроде нестандартной третьей цены, которая не может быть фиксированной
Т.е. возвращаюсь к тому, что представьте это как поле с пустой ценой, которую назначает оператор а клиент ее указывает и кладет товар/услугу в корзину. Вот такая "долбанутая" идея у заказчика. Как вариант мы таким "свободным платежом" пользуемся, когда оплачиваем сотовую связь - сами указываем цену!

Готов в принципе обсудить оплату реализации, если это возможно. Если вариант невозможен тему наверное надо закрыть и удалить, чтобы не спамить тут больше ). Спасибо за понимание.

« Последнее редактирование: 10.09.2015, 17:48:18 от slavagoa »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
у разработчиков ЖШ есть плагин, позволяющий делать пересчет цены в зависимости от свободного (вводимого клиентом) атрибута Размеры. смысл в том, что цена товару задана за м2, а клиент вводит Длину и Ширину и в зависимости от этого считается итоговая цена. думаю можно перекроить его для вашего случая
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скрыть цену для товаров которых нет в наличии

Автор buto

Ответов: 2
Просмотров: 642
Последний ответ 21.12.2021, 11:41:02
от buto
Обрезает код товар по длине

Автор misteri27

Ответов: 2
Просмотров: 639
Последний ответ 05.04.2021, 12:22:21
от misteri27
Товар с плавающей стоимостью

Автор effrit

Ответов: 16
Просмотров: 1066
Последний ответ 16.06.2020, 22:50:27
от robert
[Решено] Спрятать цену товара, если количество 0

Автор dron

Ответов: 12
Просмотров: 1009
Последний ответ 06.09.2019, 12:28:36
от dron
Как вывести старую цену в отдельном зависимом атрибуте?

Автор denxio

Ответов: 5
Просмотров: 737
Последний ответ 07.06.2019, 08:46:28
от denxio