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

msb

  • Новичок
  • 3
  • 0 / 0
Ситуация в следующем при регистрации заполняется профиль есть поле (выпадающий список) род занятий (Менеджер, Сантехник, Юрист и т.п.) необходимо чтобы JomSocial искала пользователей выбравших определенный род занятий.
А на деле получается что JomSocial ищет только по полям типа текст, причем по всем, даже по тем которые не нужны (например по ICQ номеру) как сделать так чтобы искались пользователи только по определенным полям но не только по текстовым. а по полям типа выподающий список и др.
*

Sqvall

  • Захожу иногда
  • 95
  • 2 / 0
уточни.. тоесть ты хочешь что бы при поиске например Интересы который выбирается при регистрации и заполнении анкеты из имеющихся выпадали уже готовые интересы которые были заполненым админом?
*

Sqvall

  • Захожу иногда
  • 95
  • 2 / 0
типо такого или я вас непонял

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

msb

  • Новичок
  • 3
  • 0 / 0
Да типа этого но не совсем
Когда просматриваеш анкету пользователя при клике на значение (текстовое поле, например Город) выводится список пользователей у которых это поле заполнено одинаково.
проблема в том что так делается только для текстовых полей, да еще и для все почта адрес и прочее что совсем не к чему.
как ограничить это только для определенных полей и выпадающих списков.

[вложение удалено Администратором]
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

не работает отправка личных сообщений пользователей (от пользователя к пользователю).

Автор nnnkko

Ответов: 15
Просмотров: 6479
Последний ответ 25.11.2014, 13:41:16
от ecs23
Разграничение видимости профилей пользователей

Автор ir0kez

Ответов: 0
Просмотров: 1360
Последний ответ 24.07.2013, 15:29:01
от ir0kez
Как пригласить на мероприятие не только друзей?

Автор rdv

Ответов: 4
Просмотров: 3465
Последний ответ 07.06.2013, 16:09:14
от dydy
Ограничение пользователей по типу профиля

Автор Zhaslan

Ответов: 0
Просмотров: 1356
Последний ответ 12.05.2013, 11:50:34
от Zhaslan
Можно ли добавлять пользователей из бэкенда?

Автор justAnn

Ответов: 0
Просмотров: 1350
Последний ответ 28.02.2013, 13:05:50
от justAnn