Поскольку не все сайты переведены на 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();
// }
Всё заработало.