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

pyh

  • Захожу иногда
  • 117
  • 11 / 0
Пожалуйста дай свои файлики \components\com_jshopping\. Я уже 4 неделю не могу исправить фильтр, поставил такие же версии как у тебя и внес твои правки, но безрезультатно. Вышли файлики, ПОЖАЛУЙСТА. leopolds2010@gmail.com

Файлы.

Работоспособность известна только для Joomla 2.5.1  + JoomShopping 3.5.0


[вложение удалено Администратором]
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Для тех, кто не хочет менять код ядра компонента, может пригодится готовое решение.
Молодцы, докопались все-таки до корня, когда я делал я н увидел возможности сделать отдельный аддон, возможно с обновлением компонента она появилась, возможно просто плохо смотрел.
*

Aladin

  • Осваиваюсь на форуме
  • 22
  • 1 / 1
Огромное спасибо за столь полезную доработку!  :D Всё ОК, но есть один момент. Joomla 2.5 / JoomShopping 2.6.1.. Мультивыбор работает, даже многоуровневые характеристики наверх прилепил, и вроде тоже работает. НЕ могу выбрать больше 5 значений в мультивыборе. Как только выбираю шестое значение, снимает выделение с предыдущего.

Возможно есть у кого минутка на решение проблемы!? *DRINK*


*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Возможно не хватает места в таблице для хранения более 5 значений, попробуй посмотреть что там творится.
*

nevigen

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

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Попробуйте сделать запрос в базу:
ALTER TABLE `Префикс_jshopping_products` CHANGE `extra_field_ID Харатеристики` `extra_field_ID Харатеристики` VARCHAR( 255 ) NOT NULL
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

look96

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
НА ДЖШОП 3.4.2 сделал точно по мануалу, ничего не изменилось(
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Обновись до последнего релиза, говорят что в нем уже есть от производителей.
*

Alienoff

  • Захожу иногда
  • 186
  • 0 / 0
Есть. А можно как-то отключить?
Не очень удобно стало лично для меня выбирать (у меня на товар по одному значению характеристики) - раньше выбиралось из выпадающего списка, сейчас все значения открыты и нужно прокручивать, чтобы выбрать, что не оч удобно.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Есть. А можно как-то отключить?
Не очень удобно стало лично для меня выбирать (у меня на товар по одному значению характеристики) - раньше выбиралось из выпадающего списка, сейчас все значения открыты и нужно прокручивать, чтобы выбрать, что не оч удобно.
Не устанавливать версии выше 3.9.0. Если нет мультивыбора, то есть выпадающий список.
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Alienoff

  • Захожу иногда
  • 186
  • 0 / 0
Не устанавливать версии выше 3.9.0. Если нет мультивыбора, то есть выпадающий список.

Другого варианта нет? Может разработчики предусмотрят возможность включения-отключения данной опции? А то не ставить версии выше - это отстать от прогресса
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
По хорошему конечно кажой характеристике надо галку мультивыбора присовокупить, делов-то строк на 15-20.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
По хорошему конечно кажой характеристике надо галку мультивыбора присовокупить, делов-то строк на 15-20.
Аркадий, в этом Вы конечно же прАвы. Однако разработчикам было проще сменить выпадающий список на мультивыбор, чем заморачиваться на создании и того и другого.
Так же не стоит забывать, что если характеристик много, а разработчики про этот факт забыли, то если есть проблемы с мультивыбором надо сделать как описано тут
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

Alienoff

  • Захожу иногда
  • 186
  • 0 / 0
По хорошему конечно кажой характеристике надо галку мультивыбора присовокупить, делов-то строк на 15-20.

Да, было бы хорошо
"Использовать для данной характеристики мультивыбор"
*

victorantoniak

  • Moderator
  • 1579
  • 185 / 2
  • JoomShopping Team
Исправим в новой версии.

Для характеристик стоит поле VARCHAR(100) - в редких случаях нехватит.
*

Alienoff

  • Захожу иногда
  • 186
  • 0 / 0
victorantoniak, было бы хорошо
*

StyleRocket

  • Давно я тут
  • 567
  • 4 / 3
Я не силен в характеристиках, где об этом можно почитать, для чего мультивыбор нужен?
И скажите, можно добавлять характеристику группе товаров, например через групповое изменение?
*

Emotion

  • Захожу иногда
  • 101
  • 0 / 0
В версии 3.11.4 Мультивыбор характеристик уже есть предусмотренный, но вот запарка фильтр  не хочет искать по этих характеристкиах, а ищит только если конкретная характеристика первая в списке.
А файл jtableauto.php отличаетса от файла верси 3.3.0 и того хака что пропсиан выше.
Не могли бы подказать что именно поменять в этот файле чтобы фильтр по мульти-характеристкиах кореектно отберал все товары
файл jtableauto.php прилагаю

[вложение удалено Администратором]
*

Emotion

  • Захожу иногда
  • 101
  • 0 / 0
Оказалось конфлик с плагино JoomShopping Plugin Product To Parent Category. Отключил начало отбирать все что надо.
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Да, действительно данный плагин очень конфликтный. Попробуйте пожалуйста проверить на совместимость со второй версией плагина, возможно фильтр будет нормально фильтровать характеристики
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

chereushenko

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
скажите кто то задавался вопросом как выбрать для товаров помеченных галочкой  - одну характеристику и одну опцию... о как ?))
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
в 3.9 будут встроенные мультихарактеристики.

В смысле многоуровневые характеристики? Уже 3.15, а что то не видно их... или я плохо смотрел?
*

nevigen

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

jorevo

  • Давно я тут
  • 595
  • 13 / 1
Я знаю про мультивыбор и многоуровневые характеристики... а вот про мультихарактеристики что то не слыхал. )
*

nevigen

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