И вновь возвращаюсь к теме обновления Joomla с версии 2.5.11 до версии 2.5.13 и ошибкам, вылезшим, в связи с этим обновлением. В прошлый раз я устранял ошибку в компоненте sh404sef. В этот раз вылезла ошибка в компоненте Advanced Site Search от того же разработчика.

Я даже содал тему ни их форуме и честно подождал 4 дня, авось кто-нибудь ответит. Но ответа, как и в прошлые разы не последовало (либо он будет дан спустя 7-10 дней, что тоже ужасно с точки зрения поддержки).

В результате пришлось решать проблему самостоятельно. А дело вот в чем. Как я уже сказал, после обновления Joomla с 2.5.11 до 2.5.13 на страницах с результатами поиска компонента Advanced Site Search, а также на некоторых других (с неопределенной периодичностью), а также в административной панели стали появляться ошибки:

JDispatcher: :register: Обработчик событий не распознан. Обработчик: plgSearchContentauthor
JDispatcher: :register: Обработчик событий не распознан. Обработчик: plgSearchAscategories
JDispatcher: :register: Обработчик событий не распознан. Обработчик: plgSearchAscontacts
JDispatcher: :register: Обработчик событий не распознан. Обработчик: plgSearchAscontent

Если сайт не поддерживает русский язык, то сообщение выглядело вот так:

JDispatcher: :register: Event handler not recognized. Handler: plgSearchContentauthor
JDispatcher: :register: Event handler not recognized. Handler: plgSearchAscategories
JDispatcher: :register: Event handler not recognized. Handler: plgSearchAscontacts
JDispatcher: :register: Event handler not recognized. Handler: plgSearchAscontent

Что делать? Беглый анализ данных выдачи Google показал, что ошибку нужно искать в некорректном вызове функции registerEvent и, судя по сообщениями, проблема была в плагинах поиска plgSearchContentauthor, plgSearchAscategories, plgSearchAscontacts и plgSearchAscontent.

Открыв один из плагинов по адресу /plugins/search/ascontent/ascontent.php я обнаружил такую строку:

JFactory::getApplication()->registerEvent('onSearch', 'plgSearchAscontent');

Решено было закомментировать её до выяснения причин:

//JFactory::getApplication()->registerEvent('onSearch', 'plgSearchAscontent');

После этого я посмотрел работу поискового компонента Advanced Site Search и с удивлением обнаружил, что ничего не изменилось.

То же самое я проделал с другими плагинами, а именно в файле /plugins/search/ascategories/ascategories.php заменил:

JFactory::getApplication()->registerEvent('onSearch', 'plgSearchAscategories');

на

//JFactory::getApplication()->registerEvent('onSearch', 'plgSearchAscategories');

В файле /plugins/search/contentauthor/contentauthor.php закомментировал:

JFactory::getApplication()->registerEvent('onSearch', 'plgSearchContentauthor');

на

//JFactory::getApplication()->registerEvent('onSearch', 'plgSearchContentauthor');

В файле /plugins/search/ascontacts/ascontacts.php заменил:

JFactory::getApplication()->registerEvent('onSearch', 'plgSearchAscontacts');

на

//JFactory::getApplication()->registerEvent('onSearch', 'plgSearchAscontacts');


Дело пошло. Ошибки исчезли. Поиск вроде работает как и раньше. Предназначение данных строк для меня пока что остается загадкой. Не силен я еще в плагинах поиска (хотя в ближайших планах - сделать один).

Респект разработчикам Advanced Site Search за их суперские расширения!

И никакого респекта разработчикам за их ужасную поддержку!

Это искренне и субъективно.

Add comment


Security code
Refresh