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

maeln0r

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Htmlsprcialchars в com_content
« : 08.01.2012, 18:59:33 »
День добрый добавил в /administrator/components/com_content/admin.content.html.php дополнительное поле, везде где надо прописал параметры, все работает. Кроме одного. При добавлении в БД режутся все HTML форматирование, как про htmlspecialchars. На каком моменте я так и не понял, может быть кто знает? Заранее спасибо за ответ)
*

karabert

  • Захожу иногда
  • 276
  • 30 / 3
Re: Htmlsprcialchars в com_content
« Ответ #1 : 08.01.2012, 19:07:44 »
The FILTER MASK Parameter

Finally, there are some mask constants you can pass in as the fifth parameter that allow you to bypass portions of the filtering:

Цитировать
$address = JRequest::getVar('address', 'default value goes here', 'post','validation type',mask type);

    JREQUEST_NOTRIM - prevents trimming of whitespace
    JREQUEST_ALLOWRAW - bypasses filtering
    JREQUEST_ALLOWHTML - allows most HTML. If this is not passed in, HTML is stripped out by default.

Note. These are static variables not strings. Do not use quotes around them

(c) http://docs.joomla.org/Retrieving_data_from_GET_and_POST_requests
*

maeln0r

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Htmlsprcialchars в com_content
« Ответ #2 : 08.01.2012, 19:24:35 »
В том то и дело не найду где передается все это, что бы фильтр применить(( глаза уже убил(
*

karabert

  • Захожу иногда
  • 276
  • 30 / 3
Re: Htmlsprcialchars в com_content
« Ответ #3 : 08.01.2012, 19:29:33 »
В том то и дело не найду где передается все это, что бы фильтр применить(( глаза уже убил(

Когда скрипт получает Post, get, session (нужное подчеркнуть) данные

Если написать просто JRequest::getVar('address'); , то функция профильтрует (в выше приведенном тексте написано об этом: HTML is stripped out by default.)

Чтобы HTML остался нужно пятым параметром скормить функции константу JREQUEST_ALLOWHTML


пример: JRequest::getVar('address',NULL,NULL,NULL,JREQUEST_ALLOWHTML);
« Последнее редактирование: 08.01.2012, 19:33:43 от karabert »
*

maeln0r

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Htmlsprcialchars в com_content
« Ответ #4 : 08.01.2012, 19:41:51 »
Собственно проблему решил, спасибо)
*

maeln0r

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Htmlsprcialchars в com_content
« Ответ #5 : 08.01.2012, 19:54:30 »
Если кому то интересно.
/public_html/administrator/components/com_content/helper.php
$youarg= JRequest::getVar( 'youarg', '', 'post', 'string', JREQUEST_ALLOWRAW );
                $row->youarg= $youarg;
*

karabert

  • Захожу иногда
  • 276
  • 30 / 3
Re: Htmlsprcialchars в com_content
« Ответ #6 : 08.01.2012, 20:00:17 »
Если кому то интересно.
/public_html/administrator/components/com_content/helper.php
$youarg= JRequest::getVar( 'youarg', '', 'post', 'string', JREQUEST_ALLOWRAW );
                $row->youarg= $youarg;

Такое изменение небезопасно! Скорее всего можно сделать sql иньекцию.

И зачем $youarg= JRequest::getVar( 'youarg', '', 'post', 'string', JREQUEST_ALLOWRAW );
                $row->youarg= $youarg;
если можно не создавая переменной сразу присвовить?

 $row->youarg = JRequest::getVar( 'youarg', NULL, 'post', 'string', JREQUEST_ALLOWRAW );

Вместо '' ставьте NULL. Так читабельнее.
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Re: Htmlsprcialchars в com_content
« Ответ #7 : 07.03.2012, 13:50:25 »
karabert

Цитировать
Чтобы HTML остался нужно пятым параметром скормить функции константу JREQUEST_ALLOWHTML

Как понять пятым я уже что то забыл, у меня такой пример есть и он работает. Но для части сайта такое не прокатило пока не сделал как вы написали!
Делай с другими то же, что они собираются сделать с тобой: бей первым.
*

karabert

  • Захожу иногда
  • 276
  • 30 / 3
Re: Htmlsprcialchars в com_content
« Ответ #8 : 07.03.2012, 17:21:46 »
karabert

Как понять пятым я уже что то забыл, у меня такой пример есть и он работает. Но для части сайта такое не прокатило пока не сделал как вы написали!

 JRequest::getVar('address' /* первый параметр */,NULL /* второй параметр */,NULL  /* третий параметр */,NULL  /* четвертый параметр */, JREQUEST_ALLOWHTML /* пятый параметр */);
*

klubnichkaaa

  • Захожу иногда
  • 302
  • 16 / 2
Re: Htmlsprcialchars в com_content
« Ответ #9 : 09.03.2012, 19:28:20 »
Но прикол в том что с 1 параметром у меня не работало, а как 5 поставил заработало вот что меня удивило =)
Делай с другими то же, что они собираются сделать с тобой: бей первым.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дополнительная обработка материала com_content при сохранении

Автор Александр216

Ответов: 0
Просмотров: 1758
Последний ответ 10.02.2016, 10:49:55
от Александр216
Оптимизация компонента com_content (5000 рублей за решение вопроса)

Автор vomitting

Ответов: 7
Просмотров: 1703
Последний ответ 22.11.2012, 23:42:12
от ChaosHead
/index.php?option=com_content&view=category&layout=blog&id=1&Itemid=50&lang=en

Автор puh10

Ответов: 1
Просмотров: 11809
Последний ответ 08.02.2012, 14:08:19
от puh10
com_content - default category

Автор b13on

Ответов: 2
Просмотров: 1895
Последний ответ 22.11.2011, 21:37:08
от Katen`ka
модификация com_content

Автор Dritmich

Ответов: 2
Просмотров: 1834
Последний ответ 01.02.2010, 17:10:14
от Dritmich