Хоть разработчики и обновили компонент до новой версии, которая работает даже с последней 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 штуки, после преобразования (о чудо!) пустая строка пропала 🙂
На всякий приложу архив с файлом, пользуйтесь.