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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Здравствуйте! Скажите, как можно реализовать, чтобы значениям характеристик, которые задаются радиокнопками или выпадающим списком можно было задавать описание? Мне нужно примерно, чтобы при наведении на значение характеристики выскакивала поясняющая подсказка. Может какой аддон есть уже? В интернете я ничего не нашел.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
речь идет о характеристиках, или же все таки об атрибутах?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Пока не добрался, но уже думал, и в характеристиках и в атрибутах есть поле "описание", его можно скрыть и выводить с помощью CSS и jquery по наведению на знак вопроса, на характеристику или атрибут...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

nevigen

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
речь идет о характеристиках, или же все таки об атрибутах?
Речь идет именно о характеристиках.

*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
в дивном шаблоне вроде реализовывали уже.
Где есть такая возможность? Что то не видел...
*

nevigen

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
http://demo.nevigen.com/cars/convertible.html
характеристика дорс

У вас тултип выводится именно для значения характеристики? Если да, то мне именно так и надо. Как вы это реализовали?
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
я по-моему выше ответил

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
в дивном шаблоне вроде реализовывали уже.

Это ваш ответ? А как прописывать описание, я имею ввиду из админки?
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Мне как раз для значения характеристики нужно...
*

nevigen

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Понял. Спасибо за ответы!
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Посмотри как любое выпадающее меню на CSS сделано и по аналогии сделай..
javascript не обязательно тут знать.
Оберни описание характеристики в блок с иконкой.
Типа такого..

.описание_хараетеристики{
  display:none;
}
.обертка_характеристики:hover .описание_хараетеристики {
  display:block;
}
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Посмотри как любое выпадающее меню на CSS сделано и по аналогии сделай..
javascript не обязательно тут знать.
Оберни описание характеристики в блок с иконкой.
Типа такого..

.описание_хараетеристики{
  display:none;
}
.обертка_характеристики:hover .описание_хараетеристики {
  display:block;
}


Спасибо конечно, но данный вариант мне не подходит. Мне нужно из админки заносить описание.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Спасибо конечно, но данный вариант мне не подходит. Мне нужно из админки заносить описание.

Я ничего не понял...
в админке у характеристик есть поля "Название" и "Описание" вам еще одно описание нужно чтоли?
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в админке у характеристик

а нужно

для значения характеристики

а такого в админке нет
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Значениям характеристик!
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Кто так делает то?)) Нагроможденно будет..
Обычно: Характеристика - "Качество записи" два значения "FullHD", "HD ready"

Описание:
FullHD - Выское качесвто записи...
HD ready - Среднее качесвто записи...
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

nevigen

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Мне нужно именно так. Смотрите скрин.
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Кто так делает то?)) Нагроможденно будет..
Обычно: Характеристика - "Качество записи" два значения "FullHD", "HD ready"

Описание:
FullHD - Выское качесвто записи...
HD ready - Среднее качесвто записи...


Так конечно я могу и сам сделать, не обязательно тему создавать на форуме :). Но это как то не профессионально. К тому же у меня поле описание будет именно описанием для товара.
*

nevigen

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

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Тогда надо добавлять поле в БД.

К тому же у меня поле описание будет именно описанием для товара.
Я думаю Вам не стоит говорить о том что профессионально, а что нет..))

Если вы можете реализовать мой вариант, то справитесь профессионально и с вашей задачей..)
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов

Я думаю Вам не стоит говорить о том что профессионально, а что нет..))


Ну, у меня свое видение. А разве у меня нет такого права? Спасибо за ваш вариант, но он мне действительно не подходит.
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
формируйте файл типа ленга, и выводите текстовку к каждому $extra_field['value'].
Мне нужно, чтобы клиент сам мог забивать описания без моего участия, т.е. через админку.
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
Да нет, все нормально. Я сам что-то напутал, и фильтр и характеристики, и атрибуты..

В вашем случае надо добавлять поле в БД, к значению характеристики и выводить его в шаблоне..
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Тогда надо добавлять поле в БД.

если язык только один используется на сайте, можете использовать для описания характеристики поле названия из второго языка. в шаблоне нужен будет запрос соответствующий для выборки таких описаний, ну и вывод их в тултипе.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
если язык только один используется на сайте, можете использовать для описания характеристики поле названия из второго языка. в шаблоне нужен будет запрос соответствующий для выборки таких описаний, ну и вывод их в тултипе.
Хорошо. Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

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

Автор heartlink

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

Автор sergeytolkachyov

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

Автор goga_pgasovav

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