Новости 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 Ответов
  • 4425 Просмотров
*

dimm71

  • Новичок
  • 5
  • 0 / 0
Callback Asterisk
« : 09.05.2016, 11:39:38 »
Решил поставить кнопочку обратного звонка на сайт, но она не отображается. Я только начинаю осваиваться в сайтостороении поэтому сам разобраться не смог и прошу помощи бывалых. Делал по этой статье http://www.bizkit.ru/2015/07/09/3009/

Итак, что делал: на Joomla (3.5.1) установлен шаблон Acrostia, и на индекную страничку шаблона вставлен код кнопки (он же knopka.js):
Спойлер
[свернуть]

На приемной стороне следующий скрипт:
Спойлер
[свернуть]

Код index.php
Спойлер
[свернуть]


Проблема в следующем - не отображается на сайте эта кнопка. Понимаю, что чего то не хватает, но в силу дилетантности, понять чего именно не могу.

Подскажите куда копать, пожалуйста.
« Последнее редактирование: 09.05.2016, 11:45:35 от dimm71 »
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Re: Callback Asterisk
« Ответ #1 : 09.05.2016, 12:26:31 »
Мдя. Вот не совсем новичок, но прежде чем замутить подобный сервис очень хорошо подумал бы сперва.
А кнопка не отображается потому что ее просто нет. Внимательно читайте статью. И код смотрите. Там все написано.
*

dimm71

  • Новичок
  • 5
  • 0 / 0
Re: Callback Asterisk
« Ответ #2 : 09.05.2016, 12:35:50 »
Можно по подробнее? Ткните хоть носом, так понятнее будет :)

А что касается сервиса, то он есть и работает. Нужно только прикрутить кнопку с формой
« Последнее редактирование: 09.05.2016, 12:52:10 от dimm71 »
*

dimm71

  • Новичок
  • 5
  • 0 / 0
Re: Callback Asterisk
« Ответ #3 : 09.05.2016, 20:55:04 »
На страничке с описанием есть ещё архив с файлами, но для WP. Можно ли его переделать/доработать для Joomla?

http://www.bizkit.ru/wp-content/uploads/2015/07/callback.zip
*

dimm71

  • Новичок
  • 5
  • 0 / 0
Re: Callback Asterisk
« Ответ #4 : 10.05.2016, 23:10:57 »
В общем немного разобрался. В архиве есть кнопки и скрипты и прочее... но вот как вставить код в index.php чтобы кнопка появилась разобраться не могу. Буду рад любой помощи
*

dimm71

  • Новичок
  • 5
  • 0 / 0
Re: Callback Asterisk
« Ответ #5 : 12.05.2016, 12:37:23 »
Спасибо за помощь. Вопрос снят.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Strict Standards: call_user_func_array() expects parameter 1 to be a valid callback, non-stat

Автор RumusBin

Ответов: 5
Просмотров: 3822
Последний ответ 21.01.2016, 22:08:40
от RumusBin