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

vlastachu

  • Новичок
  • 6
  • 0 / 0
вывод модулей (right)
« : 17.01.2010, 22:11:19 »
Итак суть проблемы
Страница "редакт. профиль" (edit profile) - не выводятся модули с правой стороны. Вообщес то это не главное, они там по сути и не нужны, дело в том чт опо видимому именно изза этого съезжают меню jomsocial
В джомсоциал использовал шаблон tag-buble (by Scoshi) на всякий случай из стандартного JomSocial скопировал profile.edit.php ничего не изменилось (да и код одинаковый).
Просмотрел за сегодня достаточно много файлов которые могли бы иметь отношение к этой странице (не только папку шаблона). Сейчас мысль что где то в Joomla есть список страниц на которые к примеру выводятся модели и в эта страница там не проиндексирована ..и что скорей всего такой файл был бы *.xml   подозрение не оправдалось (пока что...было достаточно времени проверять)
есть вариант чтобы как нибудь не выводить CSS файл а прописать этот файл туда в код со своими изменениями....ну ооочень это муторно

Что ещё вы можете предложить?  (а да кстати photo tagged я нашёл...спасибо тому кто посоветовал (не помню кто это) забыл что ещё хотел сказать...))
*

steelcat

  • Захожу иногда
  • 118
  • 13 / 0
Re: вывод модулей (right)
« Ответ #1 : 19.01.2010, 15:29:08 »
От себя посоветую включить default шаблон и править его под свои нужды. Создав в своем шаблоне Joomla папку html/com_community, можно кидать туда свои версии шаблона JomSocial, при переустановке или обновлении ничего из косметических изменений не потеряется. А по теме: другие шабы в JomSocial, если отсутствует файл определенной страницы, берут его из дефолтного. Может тут собака порылась. И юзайте наконец Firebug для Firefox, с ним все коды исходной страницы прозрачны.
« Последнее редактирование: 19.01.2010, 15:33:00 от steelcat »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

позиции модулей JomSocial и их отображение - sufix

Автор arturk

Ответов: 42
Просмотров: 22220
Последний ответ 13.06.2020, 14:10:26
от ademar
Вывод "обо мне" в боковом меню

Автор glebik

Ответов: 0
Просмотров: 3496
Последний ответ 12.06.2015, 12:19:52
от glebik
Вывод блока фотографий на странице пользователя

Автор pikaper

Ответов: 1
Просмотров: 1875
Последний ответ 01.03.2013, 15:28:09
от N2uM
Вывод аватара друзей на страницы Joomla

Автор Kvays

Ответов: 1
Просмотров: 1375
Последний ответ 03.01.2013, 18:19:15
от Kvays
Вывод фотографий на страницу профиля

Автор NikolaiV

Ответов: 1
Просмотров: 1783
Последний ответ 29.03.2012, 17:37:27
от Demias