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

kluchnikov85

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Добрый день, гуру Joomla.

Есть такая проблема на сайте http://fotosuvenir46.ru - не открываются страницы со статическим текстом (плюс доставка, правила сайта, правила возврата) из Joomshoppind "Ошибка 500 - МАКЕТ CONTENT НЕ НАЙДЕН." Было сделано кучу разных изменений и в шаблоне, и в коде магазина, установлено много разных аддонов.
Ошибку недавно заметил и как убрать её пока не пойму.  ! ! !

Может кто знает в чем проблема и куда копать! Подскажите пожалуйста!
*

dmitry_stas

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

kluchnikov85

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Re: Ошибка 500 - макет CONTENT НЕ найден
« Ответ #2 : 27.10.2014, 20:39:46 »
Да, извиняюсь!

Joomla 3.3.6 и JoomShopping 4.7

Код какой нужно если выложить скажите!
*

nevigen

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

kluchnikov85

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Re: Ошибка 500 - макет CONTENT НЕ найден
« Ответ #4 : 27.10.2014, 21:11:47 »
Как я сейчас предполагаю это произошло из-за обновления до 4.7 версии, но я сразу не заметил этого и было сделано много изменений в коде. Шаблон default_div.
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Re: Ошибка 500 - макет CONTENT НЕ найден
« Ответ #5 : 27.10.2014, 21:20:12 »
и ?
тогда просто перепишите недостающие файлы шаблона.
но то что будет работать и дальше норм, не факт.
вносить надо правки для того и сделан патч чтобы было понятно что внесено нового
или винмерже сравниет и внесите правки
или новый шаб div для 3.19 возьмите.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Ошибка 500 - макет CONTENT НЕ найден
« Ответ #6 : 27.10.2014, 21:23:57 »
я дал ссылку. там все написано, какие файлы нужны. скопируйте их из дефолтного шаблона
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

kluchnikov85

  • Осваиваюсь на форуме
  • 32
  • 1 / 0
Re: Ошибка 500 - макет CONTENT НЕ найден
« Ответ #7 : 27.10.2014, 21:35:52 »
обойм +.
Помогло просто перенести папку content из дефолтного шаблона в мой на div`ах!

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

Ошибка при изменении статуса товара

Автор itbc

Ответов: 4
Просмотров: 1346
Последний ответ 08.05.2024, 10:31:16
от itbc
Ошибка при заполнении поля Улица/Номер дома. Как исправить ошибку?

Автор admi5575

Ответов: 9
Просмотров: 1629
Последний ответ 10.05.2023, 07:21:14
от admi5575
При обновлении Joomshopping до 4.16 и Joomla до 3.9.3 - ошибка 1054

Автор busik

Ответов: 8
Просмотров: 2997
Последний ответ 15.12.2021, 01:01:46
от nevigen
На PHP 8 ошибка в мобильной версии

Автор Kugata

Ответов: 6
Просмотров: 1098
Последний ответ 15.09.2021, 19:22:42
от ShopES
Ошибка 0 Call to a member function setModel() on bool

Автор oleg1015

Ответов: 2
Просмотров: 1068
Последний ответ 31.07.2021, 07:04:53
от Taatshi