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

BakeevDR

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
начал описывать в соседней ветке Ошибка при сохранении зметок о пользователе здесь повторюсь чтоб исправили данный баг.


Платформа, на которой работает PHP    Windows NT WR2856 6.1 build 7601 (Windows 7 Professional Edition Service Pack 1) i586
Database Type    postgresql
Версия базы данных    9.6.9
Кодировка базы данных    en_US.UTF-8
Кодировка соединения базы данных    UTF8
Версия PHP    7.2.4
Веб-сервер    Apache/2.4.33 (Win32) OpenSSL/1.1.0g PHP/7.2.4
Интерфейс между веб-сервером и PHP    apache2handler
Версия Joomla!    Joomla! 3.8.13 Stable [ Amani ] 9-October-2018 14:00 GMT
Версия Joomla! Platform    Joomla Platform 13.1.0 Stable [ Curiosity ] 24-Apr-2013 00:00 GMT


Описание:
Ошибка была выявлена при занесении информации в заметки в поле (Дата проверки "review_time") после сохранения выходит ошибка вида
Цитировать
Ошибка
Сохранить не удалось из-за ошибки: ERROR: date/time field value out of range: "17-10-2019" LINE 1: ...odified_time"='2018-10-17 07:32:46',"review_time"='17-10-201... ^ HINT: Perhaps you need a different "datestyle" setting.

воспроизведение ошибки
Ошибка выходит при внесении информации в поле  "Дата проверки"
в поле заношу 17-10-2019 при сохранении выходит вышеописанная ошибка
в поле заношу 08-10-2019 после сохранении 10-08-2019 идет путаница месяца и дня


Решение
для решения данной проблемы необходимо в \administrator\components\com_users\models\forms\note.xml в field name="review_time" добавить свойство filter="user_utc"

но это не избавит от глобальной ошибки поэтому сказать что ошибка не требует решения не могу т.к. это временное решения для данной компоненты.

для воспроизведения что ошибка носит глобальный характер убрал у компоненты Материалы
\administrator\components\com_content\models\forms\article.xml в field name="publish_down" с свойство    filter="user_utc" и ошибка повторилась

« Последнее редактирование: 17.10.2018, 11:49:40 от BakeevDR »
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Все верно Joomla выдает. 17-10-2019 не бывает 17 месяца.
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

BakeevDR

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
2019 не бывает 17 месяца.
1) формат даты  ДД-ММ-ГГГГ
2) при разборе "libraries\joomla\form\fields\calendar.php" по дефолту параметр подгружается как $this->filter       = (string) $this->element['filter'] ? (string) $this->element['filter'] : 'USER_UTC'; тем самым получается что где-то не подставляется данная проверка при сохранении для даты (дальше не копал) а если явно указать фильтр USER_UTC то всё нормально.
*

BakeevDR

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Это не путаница. Это стандартный формат данных.
Год месяц день.

Согласен, для базы это стандартный формат  ГГГГ-ММ-ДД

Для пользователя он преобразует в ДД-ММ-ГГГГ, причем правильно преобразование идет если фильтре явно прописано USER_UTC. Для отображения он правильно отрабатывает, а при сохранении без явного указания фильтра что то идет не то.
Тут надо изменить или в заметках в поле (Дата проверки "review_time") добавить атрибут или в классе поля calendar добавить чтоб настройки фильтра брал по умолчанию USER_UTC
« Последнее редактирование: 09.11.2018, 13:43:54 от BakeevDR »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено] Ошибка в календаре при занесении не даты неавторизованным пользователем

Автор BakeevDR

Ответов: 2
Просмотров: 4075
Последний ответ 12.11.2018, 07:36:06
от BakeevDR
Перенесено: Ошибка при смене Шаблонов

Автор b2z

Ответов: 0
Просмотров: 2194
Последний ответ 15.04.2015, 22:25:05
от b2z
Перенесено: Ошибка при загрузке сайта

Автор b2z

Ответов: 0
Просмотров: 1831
Последний ответ 03.03.2015, 14:42:34
от b2z