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

grandstudy

  • Новичок
  • 6
  • 0 / 0
  • grandstudy
Написание своего модуля
« : 30.03.2014, 23:57:17 »
Подскажите пожалуйста!

Как написать свой модуль для компонента ЖШ.

Модуль должен вывести только один выбранный товар в админской части в параметре "product_id"?

Спойлер
[свернуть]

Что здесь дальше прописать? Желательно чтобы подключились все параметры для одного товара?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Написание своего модуля
« Ответ #1 : 31.03.2014, 11:00:53 »
Код: php
$product->load($product_id);

А потом открываем подключенную таблицу \components\com_jshopping\tables\product.php и смотрим, что из всего этого надо. Например, получить категорию товара

Код: php
$product->getCategory();

и т.д. Можете открыть еще контроллер товара \components\com_jshopping\controllers\product.php function display и посмотреть, что происходит с $product
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

grandstudy

  • Новичок
  • 6
  • 0 / 0
  • grandstudy
Re: Написание своего модуля
« Ответ #2 : 31.03.2014, 12:25:41 »
Допустим я беру за основу модуль mod_ext_jshopping_slider_products

в шаблоне вызываю
Спойлер
[свернуть]
вывод продукции:
Спойлер
[свернуть]

В моем модуле вывод:
Спойлер
[свернуть]
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Написание своего модуля
« Ответ #3 : 31.03.2014, 12:28:11 »
и? вопрос в чем?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

grandstudy

  • Новичок
  • 6
  • 0 / 0
  • grandstudy
Re: Написание своего модуля
« Ответ #4 : 31.03.2014, 12:33:07 »
В модуле mod_ext_jshopping_slider_products массив продукции, а мне нужен только одна выбранная продукция.
*

grandstudy

  • Новичок
  • 6
  • 0 / 0
  • grandstudy
Re: Написание своего модуля
« Ответ #5 : 31.03.2014, 12:34:47 »
Отладочная информация вывода продукции не соответствует между моим модулем mod_test с модулем mod_ext_jshopping_slider_products
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Написание своего модуля
« Ответ #6 : 31.03.2014, 12:47:00 »
простите.
это не раздел обучения написаниям модулей.
если есть конкретные вопросы сформулируйте его чтобы можно было кратко ответить.
пока Вы пост за постом (напоминая твитер) выдавливаете построчно код модуля.
если Вы не знаете как из массива вытянуть что то конкретное... то куда браться писать модуль ?
Обсуждение ЖШ и учеба по написанию модуля разные разделы форума.

Также обращаю Ваше внимание, что если Ваш пост последний, достаточно его отредактировать чтобы добавить что-то что вы забыли, но не стоит делать новый.
это не твитер.

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

grandstudy

  • Новичок
  • 6
  • 0 / 0
  • grandstudy
Re: Написание своего модуля
« Ответ #7 : 31.03.2014, 13:08:49 »
Вообще-то по сути написания модуля довольно простая реализация.
Самое главное какие функции надо вызвать чтобы модуль mod_test заработал - позже выложу модуль в паблик только после того как допишу.
*

nevigen

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

grandstudy

  • Новичок
  • 6
  • 0 / 0
  • grandstudy
Re: Написание своего модуля
« Ответ #9 : 31.03.2014, 13:15:42 »
Название модуля по английски?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Написание своего модуля
« Ответ #10 : 31.03.2014, 13:16:49 »
метка = label
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Шаблоны модуля mod_jsh_categories_and_products

Автор goga_pgasovav

Ответов: 3
Просмотров: 632
Последний ответ 27.07.2020, 19:45:11
от kit2m2
Нужен совет! Проблема c выводом модуля фильтра

Автор Lemonez

Ответов: 4
Просмотров: 756
Последний ответ 28.04.2020, 07:40:34
от draff
Почему нет модуля 1С для JoomShopping?

Автор stardel

Ответов: 9
Просмотров: 1689
Последний ответ 28.07.2017, 12:11:24
от pvi1
Просто в админке нет модуля хлебных крошек Breadcrumbs в Joomla JoomShopping

Автор specnazov

Ответов: 6
Просмотров: 1501
Последний ответ 26.05.2017, 08:46:20
от vipiusss
Несколько "Меток товара" для одного товара, модуля или пункта меню

Автор misteri27

Ответов: 11
Просмотров: 3916
Последний ответ 31.08.2016, 11:14:14
от pH43