Новости Joomla

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

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

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

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

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

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 7 Ответов
  • 23114 Просмотров

Хотел было создать тему в "Проблемных вопросах" но понял, что у меня скорее вопрос к тем, кто занимается разработкой для Joomla.
Как известно, GZip в Jooml'е катастрофически несовместим с Oper'ой. Причем это проблема скорее Джумлы, чем Оперы, т.к. множество сайтов и форумов с включенным GZip'ом (на других движках) отлично отображаются в Опере, а Джумла ну никак не хочет.
Поэтому вопрос: Можно ли решить эту проблему и если можно, то как (хотя бы в каком напровлении копать)? Как я понимаю, это, вероятно, из-за того, что в Джумле свой GZip-паковщик, т.е. не зендовский вариант исполнения, или я не прав?
Я смотрел http-header'ы у джумлы и у другого движка с включенным GZip'ом - они по сути одинаковые, но только Джумла почему-то не хочет отображаться :-(
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #1 : 15.09.2006, 00:56:44 »
Как я понимаю, это, вероятно, из-за того, что в Джумле свой GZip-паковщик, т.е. не зендовский вариант исполнения, или я не прав?
реализацию функции doGzip можно посмотреть в файле /includes/joomla.php... а в каких CMS компрессия нормально работает в Опере? можно по идее посмотреть, чем отличаются реализации...

Re: GZip и Opera, можно ли что-то изменить?
« Ответ #2 : 02.10.2006, 21:36:47 »
Посмотрел реализации в других движках, посмотрел в Джумле.
В Джумле это сделано вообще как-то криво. Переделал по-своему.
Функция doGzip теперь у меня выглядит так:
Код
function doGzip() {
        global $do_gzip_compress;
        if ( $do_gzip_compress ) {
                $gzip_contents = ob_get_contents();
                ob_end_clean();
                @ob_start('ob_gzhandler');
                echo $gzip_contents;
        } else {
                ob_end_flush();
        }
}
Зачем там был весь остальной мусор - неясно. В Опере теперь работает на ура. В любой Опере.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #3 : 24.11.2006, 11:07:19 »
Joomla! 1.0.11.1 RE - все наоборот: Опере отдается gzip, ослику и FF - нет. :D

Re: GZip и Opera, можно ли что-то изменить?
« Ответ #4 : 24.11.2006, 12:42:59 »
Хм, у меня 1.0.11.1 RE, для неё тоже пришлось доделывать.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #5 : 24.11.2006, 12:54:02 »
Хм, у меня 1.0.11.1 RE, для неё тоже пришлось доделывать.
Видимо у тебя в опциях Оперы стоит представляться/маскироваться под мозиллу или ослика. В function initGzip() косяк в коде: если
Код
if ($phpver >= '4.0.4pl1' && (strpos($useragent,'compatible') !== false || strpos($useragent,'Gecko')	!== false))
то gzip'а не будет.  :laugh:

Re: GZip и Opera, можно ли что-то изменить?
« Ответ #6 : 24.11.2006, 20:13:28 »
Нет, маскироваться в Опере у меня не стоит. А как правильно избавиться от бага GZip я уже писал выше. Работоспособно в Опере 8,9, IE 6,7, и последнем FireFox.
*

ForeverYoung

  • Осваиваюсь на форуме
  • 29
  • 3 / 1
Re: GZip и Opera, можно ли что-то изменить?
« Ответ #7 : 24.11.2006, 20:25:20 »
Siberex
Цитировать
Нет, маскироваться в Опере у меня не стоит.
Возможно выставлено для конкретного сайта.

Цитировать
А как правильно избавиться от бага GZip я уже писал выше.
У меня не возникает никаких проблем с функцией doGzip. Косяк в функции initGzip - т.е. там, где определяется юзер-агент. С оперой вообще никаких проблем не было (8.54 и 9.02), а вот FF и IE остались без gzip. В качестве решения я просто пустил их по "оперному" пути и все.
Возможно различия из-за разных версий php - на моем хостинге 4.3.10
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как изменить директорию и разрешенные типы файлов в поле media?

Автор denism300

Ответов: 0
Просмотров: 915
Последний ответ 01.12.2022, 23:02:54
от denism300
Два запроса к базе данных за раз можно делать?

Автор borro

Ответов: 4
Просмотров: 1606
Последний ответ 17.10.2017, 09:30:44
от SeBun
addScript можно ли управлять очередью

Автор Hol1killer

Ответов: 3
Просмотров: 1386
Последний ответ 30.03.2014, 20:50:28
от Arkadiy
Можно ли вставить отдельную страничку в качестве модуля?

Автор Riddik

Ответов: 11
Просмотров: 1902
Последний ответ 18.11.2013, 14:51:43
от Riddik
Как изменить пренебрежительное отношение заказчиков к Joomla?

Автор busik

Ответов: 41
Просмотров: 6893
Последний ответ 18.04.2011, 04:20:16
от Mitrich