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

jrmobile

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Добрый день, уважаемые профессионалы.

Пожалуйста, помогите разобраться.
В форме заказа, которая поправлена до одной страницы, перестала обновляться стоимость доставки и итоговая сумма при изменении способа доставки.
Стоимость доставки все время ноль.
http://joxi.ru/Vrw8Q6YfOlkWpm


Сайт тут.
http://motivashka-board.ru/product/view/1/14.html

Подскажите, пожалуйста, какая функция в ЖШ отвечает за пересчет цены доставки, чтобы хоть примерно знать в каком направлении копать.

Буду премного благодарен за помощь.


*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
http://prntscr.com/jowt4m

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

jrmobile

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
http://prntscr.com/jowt4m

ищите ошибку в контроллере checkout методе ship_disable

Спасибо большое Вам за совет.
К сожалению, эта ошибка не имеет влияния.
Я сейчас починил ее, но проблема так и осталась.
Ошибка эта была вызвана моим костылем, которым я пытался починить вывод цены доставки.
*

dmitry_stas

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

jrmobile

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

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Я по инструкции от умельца переделал постраничную форму заказу в одностраничную.
ну так "по инструкции от умельца" видимо не предполагается, что методы доставки и/или оплаты могут иметь стоимость? :)

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

jrmobile

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
ну так "по инструкции от умельца" видимо не предполагается, что методы доставки и/или оплаты могут иметь стоимость? :)
цена рассчитывается аж на шаге доставки и сохранения доставки. а у вас только шаг адреса, и больше ничего нет. это так не будет работать, скорее всего ваше оформление просто не рассчитано на то, что доставки/оплаты могут иметь разные цены

В этом и вопрос.
Там же все шаги в одном файле. Я достаточно внимательно правил. Искал и дальше ковыряю код на этапе сохранения доставки и не могу найти метод, который вызывается для пересчета стоимости.
Хочу его повесить на событие клика по радио вида доставки.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
В этом и вопрос.
Там же все шаги в одном файле. Я достаточно внимательно правил. Искал и дальше ковыряю код на этапе сохранения доставки и не могу найти метод, который вызывается для пересчета стоимости.
Хочу его повесить на событие клика по радио вида доставки.
Ищите дальше и обязательно найдете. Только это не так просто и быстро, как кажется - иначе люди не могли бы продавать свои OPC ^-^.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
смотрите модель checkoutshipping.php, там все расчеты, и при выводе и при сохранении
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

jrmobile

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
смотрите модель checkoutshipping.php, там все расчеты, и при выводе и при сохранении
Огромное Вам спасибо. Буду дальше искать.
*

jrmobile

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
смотрите модель checkoutshipping.php, там все расчеты, и при выводе и при сохранении

Увидел, в той ветке, по которой делал одностранничник, что у всех там такая же проблема.
Еще поковыряюсь немного и если не найду, куплю готовый вариант.
Вы, кстати, тоже в той теме отметились.

[Решено] - Заказ на одной странице
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Стоимость доставки для нескольких товаров. Должна ли рассчитываться?

Автор goga_pgasovav

Ответов: 2
Просмотров: 748
Последний ответ 14.06.2025, 13:08:57
от victorantoniak
Срок поставки и доставки товара в итоге не суммируется при оформлении заказа

Автор brandonlang

Ответов: 0
Просмотров: 764
Последний ответ 27.02.2021, 13:41:44
от brandonlang
Список заказов (админка) - Вывести общий вес все товаров в заказе

Автор kit2m2

Ответов: 1
Просмотров: 766
Последний ответ 06.10.2020, 20:42:13
от Taatshi
Ошибка при выборе способа доставки.

Автор HLV_11

Ответов: 3
Просмотров: 791
Последний ответ 19.06.2020, 01:21:03
от HLV_11
Настройки доставки цифрового товара

Автор Edas

Ответов: 4
Просмотров: 784
Последний ответ 04.03.2019, 14:29:18
от dmitry_stas