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

djbob2000

  • Захожу иногда
  • 96
  • 4 / 0
Кэширование CAPTCHA
« : 29.01.2010, 18:41:26 »
Joomla 1.5.15, стандартное кэширование включено. При добавлении комментария CAPTCHA оказывается неверной. Если обновить - верной. Если потом еще добавить коммент - тоже верная. При выключенном кэше такого нет. Впечатление, словно CAPTCHA кэшируется. Как можно это полечить?
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Кэширование CAPTCHA
« Ответ #1 : 29.01.2010, 18:44:01 »
Хм, подумаю. Хотя странно, при запросе CAPTCHA в ссылке есть случайный параметр, не должно кэшироваться по идее. В качестве быстрого решения - откройте файл /components/com_jcomments/js/jcomments-v2.1.js и замените строчку (у меня это 215 строка):

Код: javascript
init: function(id,editor){var f=this;this.id=id;this.form=this.$(id);this.editor=editor;this.events=new JCommentsEvents();this.setElements(new Array('name','email','homepage','title','comment'));this.restoreValues();this.setCaptcha();},
на
Код: javascript
init: function(id,editor){var f=this;this.id=id;this.form=this.$(id);this.editor=editor;this.events=new JCommentsEvents();this.setElements(new Array('name','email','homepage','title','comment'));this.restoreValues();this.clear('captcha');this.setCaptcha();},
*

djbob2000

  • Захожу иногда
  • 96
  • 4 / 0
Re: Кэширование CAPTCHA
« Ответ #2 : 29.01.2010, 20:17:37 »
не помогло. Но замечено если 3 раза неправильно вводишь, изображение изменяется и правильное
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Кэширование CAPTCHA
« Ответ #3 : 29.01.2010, 22:10:24 »
Не помочь оно не может, разве что у вас браузер закэшировал этот JavaScript. Откройте страницу в браузере нажав Ctrl-F5. Изменение, которое я предложил, насильно перегружает картинку при открытии формы. Это аналогично нажатию на кнопку Обновить.
*

djbob2000

  • Захожу иногда
  • 96
  • 4 / 0
Re: Кэширование CAPTCHA
« Ответ #4 : 29.01.2010, 22:23:58 »
Не помогло. Я smart-у в приват отправил данные сайта поглядеть, если не посмотрит, прийдется заново всю Joomla переустанавливать - другого решения я не вижу, т.к. удалял все компоненты, модули и плагины, менял шаблон - все равно проблема осталась.
« Последнее редактирование: 01.02.2010, 11:49:47 от djbob2000 »
*

gary-k

  • Новичок
  • 2
  • 1 / 0
Re: Кэширование CAPTCHA
« Ответ #5 : 16.07.2010, 12:24:39 »
Вариант отключения кэширования страниц с CAPTCHA:
Небольшой хак для стандартной системы кэширования, плагина System - Cache
в файле cache.xml добавляем строку в параметрах
   
Код: xml
     <param name="nocachename" type="text" size="30" default="" label="No cache component" description="No cache component" />
в файле cache.php
после строк:
Код: php
		if (!$user->get('aid') && $_SERVER['REQUEST_METHOD'] == 'GET') {
$this->_cache->setCaching(true);
}
добавляем строки
 
Код: php
       $nocachename = explode(',', $this->params->get('nocachename', ''));
        $nocachename = str_replace(' ','',$nocachename);
        $option = JRequest::getCmd('option');
        if (isset($option) and is_array($nocachename) and in_array($option, $nocachename ))
        {
           $this->_cache->setCaching(false);
        }
в параметрах плагина Cache появляется пункт куда через запятую нужно внести названия компонентов (например com_content)
Эти помпоненты кэшироваться не будут.
Делал это для отключения кэширования страницы с капчей компонента обратной связи.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Боты повсеместно пробивают защиту CAPTCHA на Jcomments. Решение?

Автор Aquasonick

Ответов: 24
Просмотров: 10435
Последний ответ 05.09.2021, 15:13:42
от AlexP750
Кэширование POST запросов JComments

Автор Roinmana

Ответов: 0
Просмотров: 5112
Последний ответ 12.10.2017, 23:45:50
от Roinmana
Смена CAPTCHA в компоненте JComments

Автор Satson96

Ответов: 3
Просмотров: 2364
Последний ответ 03.06.2017, 03:18:46
от SmYk
JComments 3.0.5 не отображается CAPTCHA

Автор Леон

Ответов: 4
Просмотров: 3695
Последний ответ 09.05.2016, 20:08:24
от Sulpher
CAPTCHA jcomments

Автор Sanyo

Ответов: 0
Просмотров: 1311
Последний ответ 14.05.2015, 13:56:00
от Sanyo