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

artlux

  • Захожу иногда
  • 466
  • 58 / 0
срочно нужны номера мобильных телефонов для стран, для тестирования:
россия, украина, беларусь, казахстан и т.п.

Номера которые вводят пользователи обычно... Например,

+7 (921) 143-33-33
+7921 143-33-33
+7-921 1433333
+7(921)(143)-(33)-(33)

и т.п.

Для плагина тут http://joomlaforum.ru/index.php/topic,260193.msg1308173.html#msg1308173
« Последнее редактирование: 22.06.2013, 14:51:47 от artlux »
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Цитировать
нужен формат ввода телефонных номеров.
ну скорее больше то что вводит пользователь,
из этих данных после формируется правильный номер телефона...

Форматы номеров то впринципе известны, для беларуси и росии... Для остальных стран если ктото отпишется добавлю и их...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Так как желающих помочь не оказалось, плагин работает пока с номерами росийских и белорусских операторов связи... Спасибо
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

Apoca1ypto

  • Давно я тут
  • 749
  • 71 / 0
Во время спора в Интернете Ваш оппонент приводит неопровержимые доказательства своей точки зрения? Не отчаивайтесь. До...тесь до орфографии.
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
Оно то впринципе поможет, но времени разбираться и искать инфу по всем странам точно нету... Номера для россии и беларуси будут коректно обрабатывать...

для остальных стран в моем случае запросить у пользователя номер в международжном формате - скажем будет уже задача админа (либо это маска в поле телефон или регулярка при добавлении и т.п.)...

максимум, что сейчас пока могу сделать это проверить на существования номера...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
*

rewuxiin

  • Давно я тут
  • 544
  • 38 / 6
белоруские:
+37529
+37525
+37533
+37544

*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Украинские мобильные номера имеют вид +380 (XX) YYY-YY-YY, где +380 - международный код Украины, XX код оператора (например, 68 - Билайн, 50, 66, 95, 99 - MTC и т.д.), а YYY-YY-YY - семизначный номер мобильного телефона. Подробнее тут: Телефонный план нумерации Украины
*

artlux

  • Захожу иногда
  • 466
  • 58 / 0
спасибо... обновлю плагин к выходным...
Разработка расширений: Joomla 1.5+, Bitrix 12+, Мобильные приложения для сайтов под Android (PhoneGap).
Для бонусов: Z136221252622, R242724126443, U423945028202. +79211696184(Мегафон), или плюсик в репу!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

А нужны ли вообще сайты?

Автор Шмайсер

Ответов: 13
Просмотров: 1448
Последний ответ 10.02.2020, 16:03:15
от zikkuratvk
Сайт для мобильных устройств

Автор wfedin

Ответов: 5
Просмотров: 1866
Последний ответ 12.02.2013, 17:00:01
от SmokerMan