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

dremora

  • Захожу иногда
  • 461
  • 48 / 12
К нас тут снова языкоговая))) проблема и вопрос русского языка...
Дело в том, что мы разговариваем на русском, а хостинг на украинском английском.
Из-за чего кеш MODX работает неправильно поскольку имена файлов кеша иногда содержат русские символы.
В общем-то баг появляется при жёстких ссылках только - в остальном всё нормально работает. И нормально работало в Windows, также, в условиях разработки.
Вопрос:
1. Как пофиксить баг?(если сможете ответить)
2. Есть ли хостинги с поддержкой кириллических файлов?
Всё что не анархия, то фашизм...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Кириллические названия файлов
« Ответ #1 : 28.03.2014, 23:15:40 »
Есть, даже почти все.
Но, они не поддерживают Windows, потому что эта недоось ориентируется на древнюю кодировку CP1251, когда все давно используют utf8.
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Кириллические названия файлов
« Ответ #2 : 28.03.2014, 23:24:09 »
Есть, даже почти все.
Но, они не поддерживают Windows, потому что эта недоось ориентируется на древнюю кодировку CP1251, когда все давно используют utf8.
Вот например хостинг щас вертится на jino.ru. Но в суппорте мне сказали что они не поддерживают русские названия файлов. Т.е. когда я их туда загружаю, они некорректно отображаются. Но с этим то нет проблем, попотел, но переименовал все картиночки. А вот кеш генерирует MODX и мне не понятно в какой кодировке он генерирует...
Всё что не анархия, то фашизм...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Кириллические названия файлов
« Ответ #3 : 28.03.2014, 23:26:01 »
Переименовал в винде? Если да - то вот и ответ.
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Кириллические названия файлов
« Ответ #4 : 28.03.2014, 23:35:46 »
Переименовал в винде? Если да - то вот и ответ.
Есть какая-то Unix команда, через find по моему... Вчера смотрел... Которая конвертирует все названия файлов в utf8.
А на хостинге и не пробовал пока переименовывать. Мне только в суппорте сказали, что не поддерживают кириллицу. Ессно кириллица и кодировка - это как яблоко и апельсин - разные понятия.
В то-же время совсем не понятно, почему MODX генерирует cp1251 тогда, вместо utf8. Когда сайт весь в юникоде? И разработчики MODX по идее должны использовать utf8 - ведь они из США.
Всё что не анархия, то фашизм...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Кириллические названия файлов
« Ответ #5 : 28.03.2014, 23:38:48 »
Тут не форум поддержки Modx вообще-то.
Да и там разные версии - evo, revo, может еще чего успели сварганить..
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Кириллические названия файлов
« Ответ #6 : 28.03.2014, 23:40:30 »
ааа... кажется нашёл как решить:

Цитировать
Веб-сервер настроен так, что по умолчанию он отдает все страницы в кодировке windows-1251 (cp1251). Но это поведение можно изменить, для этого создайте в нужной папке файл .htaccess и поместите в него такую директиву:

AddDefaultCharset имя_кодировки

Здесь имя_кодировки — название той кодировки, которая используется в ваших файлах. Кроме windows-1251 чаще всего используется кодировка UTF-8, в этом случае директива будет выглядеть так:

AddDefaultCharset utf-8

Если файл .htaccess в нужной папке уже существует, то просто добавьте эту строку в конец. Действие этой директивы распространяется и на все подпапки.
https://www.jino.ru/support/faq/problems/adddefaultcharset.html#adddefaultcharset
Всё что не анархия, то фашизм...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Кириллические названия файлов
« Ответ #7 : 28.03.2014, 23:43:57 »
А толку? Винда вроде все равно будет пытаться в cp1251 понять..  по крайней мере старые версии (XP), новые толком не юзал.
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Re: Кириллические названия файлов
« Ответ #8 : 28.03.2014, 23:47:10 »
А толку? Винда вроде все равно будет пытаться в cp1251 понять..  по крайней мере старые версии (XP), новые толком не юзал.
Винда мне больше не страшна, 2 месяц сижу снова на Gentoo)))
Всё что не анархия, то фашизм...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Кириллические названия файлов
« Ответ #9 : 28.03.2014, 23:49:34 »
Тьфу ты..  не.. я попсятник, сижу на убунту  :laugh:
Но речь то о глупых юзерах.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Как удалить одинаковый код из множества файлов?

Автор dron

Ответов: 7
Просмотров: 1395
Последний ответ 05.12.2021, 12:10:39
от dron