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

THeCMeX

  • Новичок
  • 6
  • 0 / 0
Суть проблемы.
Если пытаюсь зайти в админке Расширение - Обновление компонентов, выскаивает ошибка 403 Forbidden Request forbidden by administrative rules.
При проверке(обновлении) самой Joomla все работает отлично, а вот компоненты обновить не могу.
Пробовал на чистой joomle, таже беда
Т.е. я так понимаю это может быть проблема в хостинге?
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Права на папку tmp
*

THeCMeX

  • Новичок
  • 6
  • 0 / 0
Права на папку tmp
Стоят права на запись. Изменений никаких
*

coolplaymaster

  • Захожу иногда
  • 62
  • 1 / 0
  • Быстро, весело, спортивно.
Права на папку tmp
Путь к папкам не верный. Должен быть:
home/public_html/адрес_сайта/administrator/logs
home/public_html/адрес_сайта/tmp
поменяйте в общих настройках сайта
« Последнее редактирование: 24.03.2021, 18:40:48 от coolplaymaster »
*

coolplaymaster

  • Захожу иногда
  • 62
  • 1 / 0
  • Быстро, весело, спортивно.
Путь к папкам не верный. Должен быть:
home/public_html/адрес_сайта/administrator/logs
home/public_html/адрес_сайта/tmp
поменяйте в общих настройках сайта
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Путь к папкам не верный. Должен быть:
home/public_html/адрес_сайта/administrator/logshome/public_html/адрес_сайта/tmpпоменяйте в общих настройках сайта
Путь может быть любой.
Какой пропишешь в конфиге
*

coolplaymaster

  • Захожу иногда
  • 62
  • 1 / 0
  • Быстро, весело, спортивно.
Путь может быть любой.
Какой пропишешь в конфиге

Путь должен соответствовать каталогам на сервере. На люнуксах как правило он такой.
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Каталогам то да.
Но указать его можно жёстко в конфиге
*

coolplaymaster

  • Захожу иногда
  • 62
  • 1 / 0
  • Быстро, весело, спортивно.
Каталогам то да.
Но указать его можно жёстко в конфиге
Понятно, что можно и в конфиге, кому как удобно.. По скрину Joomla ищет папку tmp в public_html а не в своем корне.
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Но однако она доступна
*

coolplaymaster

  • Захожу иногда
  • 62
  • 1 / 0
  • Быстро, весело, спортивно.
Но однако она доступна
;D это да. Но если скрипт не находит целевую папку - сервер отдает ошибку, что доступ к ней запрещен. 403 это почти тоже, что 404. Трудности перевода спецификации, я так думаю.
*

IToro82

  • Захожу иногда
  • 354
  • 13 / 1
Ну так на то и проверка конфига.
В ошибке то пишет что нет прав
*

v42bis

  • Захожу иногда
  • 133
  • 13 / 1
Стоят права на запись. Изменений никаких

Путь к папкам не верный. Должен быть:
home/public_html/адрес_сайта/administrator/logs
home/public_html/адрес_сайта/tmp
поменяйте в общих настройках сайта
Найдите 10 отличий?

;D это да. Но если скрипт не находит целевую папку - сервер отдает ошибку, что доступ к ней запрещен. 403 это почти тоже, что 404. Трудности перевода спецификации, я так думаю.
403  - доступ запрещен
404 - страница не найдена
"403 это почти тоже, что 404" Realy?!
Ну, не несите чушь, "коллега".
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
а вот компоненты обновить не могу.
Не все расширения могут обновляться, особенно платные .
По прямой ссылке архив скачивается, если зайти по ссылке обновления расширения ?
*

THeCMeX

  • Новичок
  • 6
  • 0 / 0
Путь к папкам не верный. Должен быть:
home/public_html/адрес_сайта/administrator/logs
home/public_html/адрес_сайта/tmp
поменяйте в общих настройках сайта
пути правильные, в cPanel все как в настройках Joomla
Специально ради вас, попробовал поменять пути, никакого эффекта

Не все расширения могут обновляться, особенно платные .
По прямой ссылке архив скачивается, если зайти по ссылке обновления расширения ?
По прямой ссылке все скачивается, расширения устанавливаются. Сама Joomla обновляется через com_joomlaupdate

*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
По прямой ссылке все скачивается, расширения устанавливаются. Сама Joomla обновляется через com_joomlaupdate
Начните с прав пользователя на всю папку сайта- переназначьте все именно для юзера Joomla.
Смотрите сколько проверок, и однозначный ответ вряд ли получите. Нужно тестить .
Перенесите на локалку и попробуйте, если обновится норма, значит трабл на стороне хостинга.
*

THeCMeX

  • Новичок
  • 6
  • 0 / 0
Начните с прав пользователя на всю папку сайта- переназначьте все именно для юзера Joomla.
Смотрите сколько проверок, и однозначный ответ вряд ли получите. Нужно тестить .
Перенесите на локалку и попробуйте, если обновится норма, значит трабл на стороне хостинга.
это проблема не в компоненте com_joomlaupdate, а в компоненте com_installer
Обновления Joomla работают
*

THeCMeX

  • Новичок
  • 6
  • 0 / 0
Все разобрались в теме. Дело было в хостинге.
Можно тему закрывать. Всем спасибо!
*

art22

  • Захожу иногда
  • 332
  • 2 / 0
Все разобрались в теме. Дело было в хостинге.
Что то блокировали?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна проф помощь в обновлении Joomla на лок.сервере osp. Можно платно

Автор Fati

Ответов: 0
Просмотров: 4894
Последний ответ 16.06.2025, 16:40:04
от Fati
Прошу помощи. Ошибка при обновлении на Joomla 4

Автор wmsonic

Ответов: 1
Просмотров: 2258
Последний ответ 29.10.2023, 22:07:23
от Kukush
Выходит ошибка в админской панели

Автор daymarus

Ответов: 0
Просмотров: 2004
Последний ответ 10.08.2023, 12:43:43
от daymarus
Ошибка при обновлении с 3.10.10. до 4.х

Автор svd2014

Ответов: 1
Просмотров: 2477
Последний ответ 13.02.2023, 19:53:08
от weser
Ошибка libraries/joomla/session/handler/native.php

Автор rezchik

Ответов: 2
Просмотров: 1711
Последний ответ 17.01.2023, 22:02:31
от rezchik