Поскольку не все сайты переведены на Joomla 2.5 и выше (не исключением является и этот Блог), то иногда приходится сталкиваться с проблемами, типичными для опеределенной версии Joomla. Так сегодня я столкнулся с тем, что последняя версия компонента SearchAdvanced вываливалась в белый экран на Joomla 1.5, если я задавал в поиске область поиска.

Включение отображения ошибок показало ошибку:

Fatal error: Call to undefined function plgSearchSectionAreas() in /home/ecolora/data/www/ecolora.ru/plugins/search/assections.php on line 76

Ну ничего, подумал я, исправим. Открыл упомянутый файл по адресу plugins/search/assections.php и обнаружил следующие строки 76-78:

            if (!array_intersect( $areas, array_keys( plgSearchSectionAreas() ) )) {
                return array();
            }

Судя по всему, функция plgSearchSectionAreas() в компоненте для новых версий Joomla уже объявлена, потому что все работает как надо. А тут, почему-то, нет. Ну на нет и суда нет, подумал я и просто закомментировал 2 строки из 3х вышеперечисленных (чтобы массив все-таки возвращало):

//           if (!array_intersect( $areas, array_keys( plgSearchSectionAreas() ) )) {
                return array();
//           }

Всё заработало.

Add comment


Security code
Refresh