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

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Коряво работает Мультиязычность в J4.
Шаблон t4_bs5_blank. Язык по умолчанию - En. Система - Подмена кода языка - Вкл. Система - Фильтр языка - Вкл. Язык для новых посетителей - Язык браузера. Автоматически изменять язык - Да. Удалять URL-код языка - Да.
https://avensis-info.ru/ для русского русская страница, https://avensis-info.ru/ru/ тоже открывается русская страница что логично. Клик по английскому флагу переход на https://avensis-info.ru/en/ и 404.
--
Удалять URL-код языка - Нет. Все сразу работает, но с /ru/ и /en/ в адресной строке.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #2 : 11.12.2021, 13:45:56 »
Нет. Заменил на стандартный. Без измений.
« Последнее редактирование: 11.12.2021, 13:49:33 от Jomel »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #4 : 11.12.2021, 14:30:57 »
Шаблон Joomla Art t4_bs5_blank. На Helix Ultimate все то же самое.
« Последнее редактирование: 11.12.2021, 14:36:30 от Jomel »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Ошибки на мультиязычном сайте J4
« Ответ #5 : 11.12.2021, 14:41:54 »
Чтобы исключить влияние шаблона сторонних разработчиков, нужно проверять на стандартном шаблоне .
Насколько я помню, многоязычность на шаблонах Хеликс требует отдельного решения .
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #6 : 11.12.2021, 14:52:06 »
На третьей Joomla не было проблем.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Ошибки на мультиязычном сайте J4
« Ответ #7 : 11.12.2021, 19:55:07 »
Проверил на локалке- нет проблем с многоязычностью.на стандартном шаблоне
На Helix Ultimate все то же самое.
Перенаправлению на /en , без ошибки .
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #8 : 11.12.2021, 22:11:42 »
Не должна направлять на En. Должна направлять на site.ru. Английский по умолчанию.
site.ru и site.ru/ru/
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #9 : 11.12.2021, 22:13:16 »
Не должна направлять на En. Должна направлять на site.ru. Английский по умолчанию. Удалять URL-код языка - Да.
site.ru и site.ru/ru/...
Добавлять метатег - корректно работает (англ. без добавления кода языка в адрес)
<link href="https://avensis-info.ru/t270/t270-spare-parts/t270-shock-absorbers" rel="alternate" hreflang="en-GB">
<link href="https://avensis-info.ru/ru/t270-russia/zapchasti-t270-2008-2015/amortizatory-avensis-t270" rel="alternate" hreflang="ru-RU">
--
Если Удалять URL-код языка - Нет, то переключатель языка корректно работает.
--
Выходит, что весь сайт знает, что надо удалять /en/, а модуль переключения языка не знает и ссылается на site.ru/en/
« Последнее редактирование: 12.12.2021, 11:58:43 от Jomel »
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Ошибки на мультиязычном сайте J4
« Ответ #11 : 13.12.2021, 12:20:23 »
Это баг четвёрки.
Какой именно ?
На локалке на стандартном шаблоне site.ru русский, при переключении языка в модуле, редирект на site.ru/en без ошибки 404 .
Не  должно быть /en ?
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Re: Ошибки на мультиязычном сайте J4
« Ответ #12 : 13.12.2021, 14:42:39 »
Какой именно ?
На локалке на стандартном шаблоне site.ru русский, при переключении языка в модуле, редирект на site.ru/en без ошибки 404 .
Не  должно быть /en ?
Что в некоторых условиях при переключении языка в модуле вызывает ошибку 404. Если почитаешь issue - там тоже не у всех проблема.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Ошибки на мультиязычном сайте J4
« Ответ #13 : 13.12.2021, 15:08:06 »
Читал и решение видел .
ТС а куда сессию пишет Joomla, что в админке в конфиге  ?
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #14 : 14.12.2021, 11:44:20 »
Обработчик сессии? Файловая система.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
Re: Ошибки на мультиязычном сайте J4
« Ответ #15 : 14.12.2021, 12:48:59 »
Обработчик сессии База данных на моем тестовом сайте
« Последнее редактирование: 14.12.2021, 14:27:28 от draff »
*

Jomel

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Re: Ошибки на мультиязычном сайте J4
« Ответ #16 : 14.12.2021, 14:14:11 »
Сайт не тестовый. Рабочий на хостинге.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как найти и исправить ошибки php на Joomla?

Автор azm1n

Ответов: 0
Просмотров: 729
Последний ответ 07.05.2025, 11:44:31
от azm1n
Какое время кэширования у вас стоит на сайте?

Автор azm1n

Ответов: 1
Просмотров: 795
Последний ответ 09.04.2025, 19:36:21
от wishlight
Не отображаются материалы на сайте

Автор e.maria

Ответов: 8
Просмотров: 1642
Последний ответ 29.12.2024, 07:58:37
от web1
На сайте не отображается GTranslate после его копирования в моб.меню [РЕШЕНО]

Автор ouch

Ответов: 1
Просмотров: 1109
Последний ответ 16.05.2024, 13:33:37
от ouch
Появилась реклама на сайте

Автор Helgi

Ответов: 10
Просмотров: 4502
Последний ответ 30.08.2023, 13:14:14
от SeBun