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

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Фильтр не фильтрует
« : 03.12.2013, 16:44:12 »
Добрый всем денёк, вот какая проблема у меня приключилась:

Включил характеристики в магазине (JS Version 3.15.0), потом создал характеристики и опции для них, далее переделал все телефоны на сайте (настроил характеристики) сайт http://x-allion.ru/internet-magazin/category/view/12
Установил "Расширенный фильтр товаров JoomShopping (на базе стандартного) 19.01.2013" отсюда: http://joomlaforum.ru/index.php?topic=193555.0

всё вроде хорошо на первый взгляд, фильтр выводится, вот только не фильтрует! (фильтрует только по цене почему-то), подскажите пожалуйста как это исправить?
*

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Фильтр не фильтрует
« Ответ #1 : 03.12.2013, 18:29:11 »
А ещё вместо фильтра выдаёт ошибку, если нажать на производителя (не важно с помощью фильтра или с помощью модуля "производители"), попробуйте нажать на любого производителя и получите вместо фильтра кучу строк с одной ошибкой. Может есть идеи почему это всё и как решить проблему?

Warning: array_intersect() [function.array-intersect]: Argument #1 is not an array in /home/lexrast/domains/x-allion.ru/public_html/modules/mod_jshopping_ultra_filters/mod_jshopping_ultra_filters.php on line 192
*

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Фильтр не фильтрует
« Ответ #2 : 03.12.2013, 19:01:27 »
Поставил другой фильтр попробовал отсюда http://joomlaforum.ru/index.php/topic,254417.0.html
ну что сказать... Первая проблема это то, что при выборе чего-угодно он полностью сворачивается и единственное решение это "отобразить его не на выбранных, а на всех страницах" , что мне не подходит совершенно. Ну это ладно, самая главная фишка-то в том, что даже когда я его отобразил на всех страницах всё вроде бы заработало, НО! как бы снова после нажатия кнопки старт остаются всё те же 7 страниц с телефонами, почему фильтры не фильтруют на моём сайте?
*

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Фильтр не фильтрует
« Ответ #3 : 04.12.2013, 11:57:28 »
Установил самый обычный стандартный фильтр с официального сайта и он тоже не работает (((( В чём же может быть причина-то?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр не фильтрует
« Ответ #4 : 04.12.2013, 12:11:06 »
может быть 100500 причин, начиная от СЕФера какого нить, заканчивая настройками..
кривое обновление если не с 0 ставили и т.д.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Фильтр не фильтрует
« Ответ #5 : 04.12.2013, 12:36:55 »
СЕФеры все удалил, после того как они мне создали проблемы со страницами. А вот на счёт обновления: обновил 1 раз с 3.14 до 3.15 версии. Ну в общем если выхода особо нету, чтож. буду сидеть получается без фильтра.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Фильтр не фильтрует
« Ответ #6 : 04.12.2013, 12:41:33 »
начисто поставте последнюю версию ЖШ
поставьте сразу фильтр и смотрите.

все должно работать.

Тип характеристик не меняли?
ну типа там с текстовых на список и т.д.

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

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Фильтр не фильтрует
« Ответ #7 : 04.12.2013, 12:48:11 »
пару раз менял на 2-3 характеристиках, сейчас не вспомню точно на каких.

Да никак он не выглядит =))) просто сверху цена "от и до" сброс фильтра и ниже перечисление характеристик.
*

nevigen

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

lexrast

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Фильтр не фильтрует
« Ответ #9 : 04.12.2013, 13:53:29 »
Спасибо большое за наводку
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
Re: Фильтр не фильтрует
« Ответ #10 : 10.01.2014, 17:20:23 »
Вечер добрый! У меня тоже есть некие проблемы с расширенным фильтром, скачивал с этого форума из темы http://joomlaforum.ru/index.php?topic=193555.0

Фильтр работает замечательно, но при установке в настройках фильтра "Обновить только по кнопке Показать - ДА" фильтрация всё равно работает при смене каждого выбранного поля. Т.е. фильтр работает одинаково при любых значениях настроек "Обновить только по кнопке Показать". Есть идеи, с чем это может быть связано? После смены настроек даже кеш прочистил на всякий случай, но фильтр как срабатывал сразу по выбору поля, так и работает.
*

pH43

  • Захожу иногда
  • 335
  • 8 / 1
Re: Фильтр не фильтрует
« Ответ #11 : 15.01.2014, 15:03:44 »
Свою проблему решил.
Оказывается кнопка не работает только для фильтра по Характеристикам, которые выводятся выпадающим списком, для остальных характеристик "Обновить только по кнопке Показать" работает.

Как решил проблему (Joomla 2.5):
В файле сайт\modules\mod_jshopping_ultra_filters\tmpl\default.php примерно в 131 строке убрал из кода

Код
<div><select name="extra_fields[<?php print $ch_id?>][]" id="genre" onchange="document.jshop_ultra_filters.submit();">

onchange="document.jshop_ultra_filters.submit();

то есть получилось
Код
<div><select name="extra_fields[<?php print $ch_id?>][]" id="genre" >

Всё, теперь мы сначала выбираем нужные нам характеристики из выпадающих списков, например, Вес, Размер, Цвет, Модель, а потом жмем на кнопку и только после этого фильтр срабатывает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Фильтр категорий для производителей

Автор Allispb

Ответов: 7
Просмотров: 1112
Последний ответ 12.06.2019, 20:32:14
от Allispb
Как сделать фильтр по определенным характеристикам?

Автор vorona34

Ответов: 3
Просмотров: 1001
Последний ответ 09.06.2016, 16:56:06
от dmitry_stas
Отображать фильтр в списке товаров

Автор psfdek

Ответов: 1
Просмотров: 1050
Последний ответ 01.05.2014, 21:21:18
от psfdek
Как сделать фильтр для товаров?

Автор Alex_4545

Ответов: 10
Просмотров: 3243
Последний ответ 08.12.2013, 18:19:37
от Alex_4545
Фильтр не работает на всех страницах

Автор graf

Ответов: 18
Просмотров: 2407
Последний ответ 08.04.2013, 12:32:05
от avduevsky