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

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
Не подскажите, есть ли такой плагин или модуль для перевода цен из долларов в рубли? Какой порядок действий, задача задать курс доллара, и чтоб цены пересчитались и на сайте выводились в рублях, ткните, подскажите, наверняка тема поднималась. Спасибо
*

nevigen

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

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
назначить курсы валютам.
сделать валютой сайта рубли
цены товарам задавать в доларах.


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


вывод на сайт
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
отличный курс у Вас...

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

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
отличный курс у Вас...

хотел пошутить но боюсь получится политически...
включайте логику и будет все правильно :)

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

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
Да, это понятно, я должен задать наоборот, в одном рубле 0,0212 долларов, но как уже писал выше, ищу такой плагин или модуль, который это будет делать автоматом, т.е. обновлять курс доллара по центробанку, например, есть ли такой в природе не знаю.
*

nevigen

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

staticway

  • Захожу иногда
  • 167
  • 0 / 0
  • Мыслю простенько и со вкусом
может это ?
Спасибо, но требования не подходят, на сервере(моем хостинге), версия PHP 5.2.6, т.к. есть и другие мои сайты, которые с версией 5.3 не работают. Может встречали ещё что-то подобное?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
я, нет :)
может потому что не обращаю внимания.

П.С. подъем PHP на нормальном хостинге это просто просто нажатие 1 кнопки.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

В описании категории не работает плагин Jshortcodes

Автор SLV

Ответов: 1
Просмотров: 1189
Последний ответ 09.09.2024, 17:35:29
от kit2m2
Код и курс текущей валюты в listorder.php

Автор Alex_gs

Ответов: 1
Просмотров: 1109
Последний ответ 05.06.2023, 09:47:50
от Alex_gs
Модуль (компонент, плагин) вывода категорий Жш

Автор stitch808

Ответов: 4
Просмотров: 1099
Последний ответ 07.11.2022, 15:01:21
от stitch808
Откатываются изменения цены

Автор RA-96013

Ответов: 8
Просмотров: 630
Последний ответ 11.11.2021, 15:32:57
от NewUsers
Как из контроллера перенести самописный код в плагин?

Автор kit2m2

Ответов: 35
Просмотров: 1663
Последний ответ 22.08.2020, 09:36:56
от kit2m2