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

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
В описании backend'а сказано:

Поддержка сжатия страниц перед отправкой (если поддерживается). Включение этой функции уменьшает размер загружаемых страниц и приводит к уменьшению трафика. В то же время, это увеличивает нагрузку на сервер.

Хотелось бы узнать, в каких случах целесообразно включение gzip сжатия страниц? Стоит ли это делать на всех проектах, в т.ч. небольших сайтах или это применимо для сайтов с высокой посещаемостью?
Насколько увеличивается нагрузка на сервер в случае включения функции?
Не приходилось сталкиваться ранее с необходимостью использования, хотелось бы прояснить эти моменты и будет прекрасно, если кто-нибудь расскажет о личном опыте. (актуальность, нагрузка, курьезные моменты с хостерами и т.п.)
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Из курьезов - можно зайти посредством Opera на ru-mambo.ru, в правой колонке будут кракозябры... уже года полтора оно так, а исправить времени нет... известно точно, что там проблема именно в сжатии - когда я отключал его, проблем не было... почему - скажу честно, не разбирался.

А в целом, я бы рекомендовал бы включать. И отключать только в том случае, если возникает проблема с нагрузкой на сервер. Зачем? Ну чтобы страницы быстрее грузились...
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Smart, благодарю за совет и просвещение по поводу курьеза!
Я так понимаю, если сайт небольшой (сайт-визитка), то нагрузка, соответственно, на сервер тоже не может быть критичной, в случае с проектом, нацеленным на высокую аудиторию, то можно либо посмотреть статистику самому через какое-то время, либо получить немедленное уведомление от службы поддержки. :)
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Ребята, а кто скажет, если gzip-сжатие включёно по умолчанию на хостинге, есть ли смысл включать его и в Жумле?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
2Uman
вы ну просто археолог
вопрос спорный, все зависит от того, что на хостинге gzip-сжатие сжимает если HTML входит в список сжатия то грузить лишним сжатием скриптами php сервер не стоит
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Цитировать
2Uman
вы ну просто археолог
вопрос спорный, все зависит от того, что на хостинге gzip-сжатие сжимает если HTML входит в список сжатия то грузить лишним сжатием скриптами php сервер не стоит

Тоже подумал, что выходит маслом масляное.
В моём случае хостинг сжимает всё, кроме картинок. Вообще половину работы за меня вечно делает, не побоюсь его назвать своим другом :)
*

dremora

  • Захожу иногда
  • 461
  • 48 / 12
Я думаю как всегда при архивации...
Если на сайте много картинок архивировать их не нужно ведь они уже сжаты. Для карточки товара архивация в принципе лишнее... JavaScript так-же иногда ругается на архивацию, как в прочем и CSS - но тут в принципе от "рук зависит". А вот для коллективного блога с подкатами архивацию можно и включить.
Всё что не анархия, то фашизм...
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Я думаю как всегда при архивации...
...А вот для коллективного блога с подкатами архивацию можно и включить.

Вы говорите о включении дополнительной архивации средствами Joomla? то есть помимо уже включённой серверной.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться