Хоть разработчики и обновили компонент до новой версии, которая работает даже с последней joomla 2.5, но ошибки все равно есть и бороться с ними приходиться своими силами. Сегодня столкнулся с очередной проблемой. Компонент вставлял пустую строчку перед выводом контента. Убил не один час, перечитал все сообщения на форумах, которые смог найти в тему.. Понятно было лишь одно, в каком-то из файлов проблема с кодировкой, так как пустые строки выводятся при сохранение файлов с BOM . Причина то ясна, но найти нужный файл, из-за которого слетает верстка не так-то просто…
Помог мне в этом деле найденный на форуме скриптик, который ищет и выводит список всех файлов с BOM сигнатурой.
<?php
xdir('.',1);
function xdir($path,$recurs) {
global $find;
if ($dir = @opendir($path)) {
while($file = readdir($dir)) {
if ($file == '.' or $file == '..') continue;
$file = $path.'/'.$file;
if (is_dir($file) && $recurs) {
xdir($file,1);
}
if (is_file($file) && strstr($file,'.php')) {
$f = fopen($file,'r');
$t = fread($f, 3);
if ($t == "\xEF\xBB\xBF") {
$find = 1;
echo "$file<br>\n";
}
fclose ($f);
}
}
closedir($dir);
}
}
if ($find == 0) echo "All clear, sir!";
?>
<hr>
Все что нужно сделать — это положить данный скриптик в корень сайта и запустить. Скрипт проходит по всем папкам, по файлам с расширением php, записывает их в буфер и потом выводит список файлов и полный путь к ним. Вам лишь остается открыть этот файл в редакторе, например Notepad++ и преобразовать в utf-8 без BOM . У меня таких файлов нашлось 4 штуки, после преобразования (о чудо!) пустая строка пропала 🙂
На всякий приложу архив с файлом, пользуйтесь.