Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

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

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 19 Ответов
  • 1414 Просмотров
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Здравствуйте!
Многократно поднимались похожие вопросы, но проблема требует уточнения нюансов.

IIS на Windows10 Server локалка, Joomla 3.9.25, шаблон Helix Ultimate.

При переходе между некоторыми разделами сайта возникает ошибка 500, но после обновления страницы она открывается уже без ошибки. И так до следующего раза перехода по тому же пути между страницами.
А теперь нюансы:
в указанной в настройках CMS папке отсутствуют логи, не могу посмотреть подробностей.
Отображение ошибок включено на максимум.
В php-файлах отсутствуют запреты на вывод ошибок.
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
индивидуальная помощь: @SetAlexx
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
1. Отключить кэширование на сайте. Проверить, стала ли 500 появляться каждый раз.
2. Включить буферизацию вывода (если отключена). Проверить не стал ли выводиться текст ошибки вместо 500.
3. Отключить вывод ошибок. Проверить не перестала ли появляться 500.

Все это выполнять по одному, а не сразу. Если что-то сработает, то ошибки надо исправить, а не оставлять как есть (это касается п.3 больше всего).
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Спасибо!
1. Отключить кэширование на сайте. Проверить, стала ли 500 появляться каждый раз.
В "Настройках системы" - "Системный кэш": "кэширование отключено". Но, если выбирать любой вид кеширования здесь, то ничего не меняется.

2. Включить буферизацию вывода (если отключена).
Это где?

3. Отключить вывод ошибок.
Это "error_reporting(0);"? Куда конкретно?

И ещё: в появлении ошибки есть чёткая закономерность - она появляется только при определённых переходах. Только вот выявить параметр, определяющий эту зависимость, пока не удаётся...
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Это где?
Можно посмотреть в админке - Информация о системе - Параметры ПХП:
/administrator/index.php?option=com_admin&view=sysinfo
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
2. Включить буферизацию вывода (если отключена).
Можно посмотреть в админке -

Да, есть, включено.
*

sivers

  • Живу я здесь
  • 2606
  • 361 / 0
Да, есть, включено.

Тогда остается только искать логи на сервере и смотреть что в них
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Не пойму, где их искать... В настройках системы стоит "log_path c:\inetpub\...\administrator\logs" , но там пусто. Путь рабочий, потому что по схожему пути (c:\inetpub\...\tmp) лежат файлы для установки и всё оттуда устанавливается.
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Это же iis, значит в нем и нужно искать %SystemDrive%\inetpub\logs\LogFiles
Если в боевых условиях win server будет использоваться, то лучше удалить его и поставить для тестирования OpenServer, а если все же будет, так стоит запастись мануалами по его администрированию. Всяких ошибок и "нежданчиков" может быть много.
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Это же iis, значит в нем и нужно искать %SystemDrive%\inetpub\logs\LogFiles
Да, действительно, так и есть. Спасибо!
Только нет никакой возможности выложить сюда фрагмент лога с ошибкой, придётся разбираться...

Вобщем, интересная вещь получается: при наблюдаемой на экране ошибке в логе сообщение об ошибке (500 0 0 656) после адреса ПОКИДАЕМОЙ страницы. А после обновления уже всё в порядке - адрес новой страницы, на которую шли, и код 200.
« Последнее редактирование: 16.06.2022, 08:20:18 от RomanA »
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Стандартный web.conf.txt переименован в web.conf?
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Стандартный web.conf.txt переименован в web.conf?

Извините, тоже не могу его найти...  :(
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
в корне сайта
индивидуальная помощь: @SetAlexx
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Ну, да, конечно! Только называется он web.config (а не conf, поэтому поиск не находил) :)

В нём только ссылка на index.php
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
в дефолтном как то так
Код
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
   <location path=".">
   <system.webServer>
       <directoryBrowse enabled="false" />
       <rewrite>
           <rules>
               <rule name="Joomla! Rule 1" stopProcessing="true">
                   <match url="^(.*)$" ignoreCase="false" />
                   <conditions logicalGrouping="MatchAny">
                       <add input="{QUERY_STRING}" pattern="base64_encode[^(]*\([^)]*\)" ignoreCase="false" />
                       <add input="{QUERY_STRING}" pattern="(&gt;|%3C)([^s]*s)+cript.*(&lt;|%3E)" />
                       <add input="{QUERY_STRING}" pattern="GLOBALS(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                       <add input="{QUERY_STRING}" pattern="_REQUEST(=|\[|\%[0-9A-Z]{0,2})" ignoreCase="false" />
                   </conditions>
                   <action type="CustomResponse" url="index.php" statusCode="403" statusReason="Forbidden" statusDescription="Forbidden" />
               </rule>
               <rule name="Joomla! Rule 2">
                   <match url="(.*)" ignoreCase="false" />
                   <conditions logicalGrouping="MatchAll">
                     <add input="{URL}" pattern="^/index.php" ignoreCase="true" negate="true" />
                     <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                     <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                   </conditions>
                   <action type="Rewrite" url="index.php" />
               </rule>
           </rules>
       </rewrite>
       <httpProtocol>
           <customHeaders>
               <add name="X-Content-Type-Options" value="nosniff" />
           </customHeaders>
       </httpProtocol>
   </system.webServer>
   </location>
</configuration>
индивидуальная помощь: @SetAlexx
*

xpank

  • Захожу иногда
  • 448
  • 41 / 0
Ну, да, конечно! Только называется он web.config (а не conf, поэтому поиск не находил) :)

В нём только ссылка на index.php
Ну с названием ошибся, все же IIS мне чужд   ^-^

Точно ничего кроме индексного файла? А реврайтов нет? Они нужны для нормальной работы роутинга.
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Точно ничего кроме индексного файла? А реврайтов нет? Они нужны для нормальной работы роутинга.

К сожалению, нет ни малейшей возможности копипастить здесь что-либо своё, только ручками...

В файле только 10 строк, и всё ради объявления <add value="index.php" />

в дефолтном как то так

Думаете, стоит заменить мой файл на этот?

Кстати, вполне может оказаться, что версия PHP, например, не подходит (у нас 7.4.9)

:/
все же IIS мне чужд   
Выбирать не приходится :(
« Последнее редактирование: 16.06.2022, 11:12:41 от RomanA »
*

marksetter

  • Завсегдатай
  • 1045
  • 40 / 0
попробуйте замените
назад то вернуть 2 клика
индивидуальная помощь: @SetAlexx
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Попробовал... Сплошная "ошибка 500", ничего не открывается :) Вернул.
*

RomanA

  • Захожу иногда
  • 111
  • 0 / 0
Короче: заменил рнр7.4.5 на рнр7.3.9 и всё заверте...
Даже списки в Фабрик стали создаваться.
Всем - спасибо!  *ОХ-Х-Х* ;D
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Missing field in database: Joomla\CMS\Table\Extension &#160; extension_id

Автор Ragivort

Ответов: 1
Просмотров: 1607
Последний ответ 25.12.2025, 21:10:01
от fbr
Не работает менеджер материалов, ошибка 500 SSL certificate problem

Автор Екатерина М

Ответов: 5
Просмотров: 2917
Последний ответ 06.04.2025, 09:27:20
от wishlight
Проблема со входом в панель администратора Joomla 3.x после обновления

Автор danieeljose

Ответов: 2
Просмотров: 2147
Последний ответ 24.03.2025, 20:33:02
от R31rus
Переход на страницу материала после его размещения пользователем

Автор stepan39

Ответов: 0
Просмотров: 1574
Последний ответ 22.11.2024, 07:14:15
от stepan39
Перенести описание категории вниз страницы

Автор jimka

Ответов: 1
Просмотров: 1727
Последний ответ 18.07.2024, 08:02:46
от Vastriet