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

jaffagold

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
На сайте использую компонент метки, но есть необходимость одни метки показывать в одной категории, а другие- в другой, чтобы не путались.
Простое создание другого модуля и привязка к разным пунктам меню ни к чему хорошему не приводит. Меняется позиция, название, но не содержимое.
Отказываться от меток не хотелось бы, а как сделать независимые поля меток в разных категориях- не знаю.
На ум приходит- создание дубликата (на самом деле- нескольких дубликатов- около пяти) компонента под другим именем и выведение разных компонентов в разных категориях.
Возможно это?
Каким образом?
Есть ли другое, более правильно решение?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Совсем правильных нет, но проще сделать либо вручную растусовав метки по модулям, либо присвоив меткам какой-нибудь атрибут (увидел только автор и псевдоним автора) и отбирая в модулях по этому атрибуту. Либо, если уж речь о дублировании компонента, то гораздо проще сделать в нем категории для меток.
*

jaffagold

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Спасибо, хотя легче не стало.
Цитировать
но проще сделать либо вручную растусовав метки по модулям,
тут не понял.
Как их можно растусовать? Подобного инструмента ни Joomla, ни шаблон не предоставляет.
Цитировать
либо присвоив меткам какой-нибудь атрибут (увидел только автор и псевдоним автора) и отбирая в модулях по этому атрибуту.
атрибут- можно, например псевдоним.
Но в параметрах модуля нет опции аналогичной, т.е. отбор в модуле всего по нескольким параметрам: количество, порядок сортировки, период.
Привязки к автору или псевдониму нет.
Цитировать
если уж речь о дублировании компонента, то гораздо проще сделать в нем категории для меток.
Т.е. вскрывать сам компонент и править его?
Слишком сложно для меня.
Возможно, я вообще не то делаю.Может следует иначе реализовать?
Задача:
Есть несколько категорий товара (около 5).
Хочется, чтобы посетитель мог производить быструю сортировку с помощью меток (не более 10 в каждой категории), без установки дополнительных расширений с полями., чекбоксами, ползунками и т.д. В одной категории сделал- то что надо. Заполнил вторую, получил кашу из меток.
Возможно, есть другой путь, не сильно усложняющий структуру.
Подскажете?

*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Цитировать
Как их можно растусовать? Подобного инструмента ни Joomla, ни шаблон не предоставляет.
Нет, надо делать.
Цитировать
Но в параметрах модуля нет опции аналогичной
Если нет, то надо делать.
Цитировать
Т.е. вскрывать сам компонент и править его?
Да, типа того, но это гораздо проще чем вы предложили продублировать компонент.
*

jaffagold

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Кажется, придумал.
Модуль Метки вообще не публиковать.
Первой в каждой категории разместить статью с короткой рекомендацией по подбору и снабдить ее всеми метками категории. Ей можно даже задать альтернативный дизайн.
Или в какой-то боковой позиции разместить подобный html-модуль.
Тогда, при нажатии на нужную метку получаем список материалов с соответствующей меткой.
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
есть такой модуль http://prntscr.com/31ooxe
если надо, поищу дистриб. даже на форуме где-то выкладывала

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

Различные условия в шаблонах Joomla 3.0 и 2.5

Автор Fedor Vlasenko

Ответов: 133
Просмотров: 30832
Последний ответ 16.12.2024, 15:52:14
от goga_pgasovav
Шаблоны Joomlart, Gavick, Yootheme, RocketTheme для Joomla: легально и с обновлениями, no warez

Автор _ib_

Ответов: 168
Просмотров: 207457
Последний ответ 15.04.2023, 18:26:50
от AS1969
Разобраться с областью компонента в шаблоне

Автор gorbi_U

Ответов: 7
Просмотров: 2183
Последний ответ 04.02.2023, 10:45:14
от sivers
Где в Joomla 3.4.3 шаблон материала? Шаблон Yootheme Organic

Автор annushka

Ответов: 13
Просмотров: 5800
Последний ответ 13.09.2022, 11:14:56
от tuztref
Master3 – современный удобный гибкий шаблон для Joomla! 3 на фреймворке UIkit 3

Автор dron

Ответов: 81
Просмотров: 10730
Последний ответ 11.09.2021, 03:12:59
от vasileк