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

St@lker

  • Захожу иногда
  • 80
  • 0 / 0
Всем привет! После обновления на JoomShopping 3.16 столкнулся с следующей проблемой:

В описании товара выводится галерея изображений через Widgetkit. Раньше работал и LightBox для изображений товаров и атрибутов и Widgetkit Gallery. Теперь изображения WK выводятся в том же окне как изображение (не работает для них лайтбокс).

Скорее всего это связано с конфликтом jQuery 1.6.2 которую использует JoomShopping и WidgetKit который использует другую версию.

Кто сталкивался с такой ситуацией? Как побороть?

И еще, оффтоп: изображение товара в LightBox выводиться в полный размер а не подгоняются под размер экрана. Как пофиксить?

Спасибо!
« Последнее редактирование: 23.11.2013, 02:21:17 от St@lker »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #1 : 22.11.2013, 23:27:30 »
вы абсолютно правы
Цитировать
это связано с конфликтом jQuery 1.6.2 которую использует JoomShopping и WidgetKit который использует другую версию
WidgetKit требует версию jQuery не ниже 1.8. необходимо оставить только эту версию
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

St@lker

  • Захожу иногда
  • 80
  • 0 / 0
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #2 : 22.11.2013, 23:31:11 »
С этой версией не хочет работать JoomShopping (перестает работать LigthBox для товаров).

Причем перестает он работать очень хитро - после ресайза окна иногда начинает выводить LightBox). Определить причину столь странного поведения пока не получилось. Но на прошлой версии JoomShopping 3.15 все было нормально.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #3 : 22.11.2013, 23:33:32 »
встроенный Lightbox нормально работает с jquery 1.8
проверено на 1.8.1
*

St@lker

  • Захожу иногда
  • 80
  • 0 / 0
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #4 : 23.11.2013, 02:17:12 »
Тогда подскажите в чем может быть дело:
Спойлер
[свернуть]
(а именно - варианты патинирования)

Второй день рою скрипты. Может у кого свежий взгляд сразу найдет проблему?

Lightbox удалось победить, который идет с JS. А вот Widgetkit так и не работает.

UPDATE! Вопрос снят. Сейчас опишу для таких же как я решение проблемы!
« Последнее редактирование: 23.11.2013, 02:40:15 от St@lker »
*

St@lker

  • Захожу иногда
  • 80
  • 0 / 0
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #5 : 23.11.2013, 02:53:15 »
Начнем с того что JoomShopping использует версию jQuery 1.6.3, а Widgetkit версию 1.8.х (в разных версиях, я так понял - разную).

У меня кроме данных модулей были установлены jComments, K2, Xmap. Из плагинов (только то что влияло на jQuery) - jQuery Easy и JB Library (хорош, но обладает меньшим функционалом). А из модулей, которые тоже юзают jQuery - Universal AJAX Filter.

Так вот, почему то в Universal AJAX Filter не подружалась библиотека
Код
/modules/mod_jshopping_unijax_filter/js/chosen.jquery.min.js
. Подключаем ее на прямую через jQuery Easy в раздел "Add Scripts". В JoomShopping отключаем использование jQuery, в Universal AJAX Filter ставим опцию - "Использовать jQuery если отсутствует в Joomla". В K2 так же в настройках отключаем использование библиотеки jQuery.

Так же в jQuery Easy ставим в Advanced Site Options (Expert users only):
Strip No Conflict Code - Да
Add No Conflict Code   - Thru script
Fix Document Ready - Да

И лично я добавил в этом же плагине:
Strip Remaining Scripts: /components/com_k2/js/k2.js (пока не заметил что что-то не работает).

Итого:
1. Lightbox в JoomShopping 3.16 начал работать нормально.
2. Lightbox в Widgetkit а именно Gallery который интегрирован в товар - работает нормально.
3. Скриптов jQuery загружается - ОДИН.
4. Ошибок в консоли FireBug - не замечено.

Осталось:
Почему то перестал работать Widgetkit Accordion. Хотя может он и не работал после переноса с 1.5 на 2.5 здоровенного проекта. Ошибок нет. Куда рыть - пока не понятно. НО! Интеграция данного плагина сделана на странице никак не связанной с JoomShopping так что причина отказа его работы скрывается в другом месте.

Всем спасибо кто помогал решать эту задачу. А особенно службе поддержки nevigen.com.
*

buto

  • Давно я тут
  • 570
  • 1 / 0
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #6 : 17.12.2013, 00:43:33 »
сегодня обновил jquery до  2.01 вроде, чем это моежт быть черевато )(шаблон просто от 1.10.х работает)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: WidgetKit 1.4.7 и JoomShopping 3.16: конфликты
« Ответ #7 : 17.12.2013, 01:09:27 »
плагины, написанные для более старых jQuery могут не работать. надо проверять. если что, поставите jQuery Migrate
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

WT JoomShopping Favorite - кнопки избранного в категории товаров и карточке тов

Автор sergeytolkachyov

Ответов: 25
Просмотров: 35705
Последний ответ 23.09.2025, 11:22:23
от Alex_gs
Атрибуты полей при оформлении заказа в JoomShopping

Автор goga_pgasovav

Ответов: 1
Просмотров: 625
Последний ответ 12.08.2025, 11:21:29
от kit2m2
Конфликт js шаблонов JoomShaper helix3 J5 с JoomShopping 5

Автор heartlink

Ответов: 6
Просмотров: 1400
Последний ответ 22.07.2025, 12:40:12
от heartlink
Модуль карусели товаров JoomShopping на Swiper.js для Joomla

Автор sergeytolkachyov

Ответов: 2
Просмотров: 2045
Последний ответ 04.07.2025, 10:30:36
от sergeytolkachyov
[Решено] Сбросить счётчик ID товаров JoomShopping

Автор goga_pgasovav

Ответов: 3
Просмотров: 1355
Последний ответ 13.02.2025, 00:11:20
от goga_pgasovav