Именно такая ошибка возникла у меня на одном из сайтов после обновления Joomla с 2.5.11 до 2.5.13. Учитывая мой предыдущий пост про ошибку Fatal error: Cannot redeclare class JLanguageTransliterate in .../libraries/joomla/language/latin_transliterate.php on line 25, возникшую также после обновления Joomla с 2.5.11 до Joomla 2.5.13, задаюсь себе вопросом... а надо ли было обновляться? Наверное надо.
А именно, в этот раз я получил ошибку на страницах компонента com_commedia:
Fatal error: Cannot redeclare class Sh404sefAutoloader in /administrator/components/com_sh404sef/helpers/autoloader.php on line 20
Поиски на форуме разработчиков ни к чему толковому не привели. Нашел пару похожих топиков с аналогичной ошибкой, возникающей на страницах разных компонентов. Но все ответы разработчиков сводились к тому, что "Я не я и ж%па не моя". Типа сами разбирайтесь.
Вообще, хотелось бы сделать некоторое отступление по поводу поддержки упомянутого расширения sh404sef и других от разработчика. Лично я пользуюсь двумя: sh404sef и Advanced Site Manager. Разумеется, я получил лицензию на их использование (чего и Вам советую). Расширения отличные. Они решают именно те задачи, для которых предназначены и перекрывают на 90% требуемую от них функциональность, но... есть одно жирное НО!
Поддержка от разработчика не просто плохая - она ужасная! На мой взгляд хорошей можно назвать поддержку, когда разработчик отвечает в течение суток в 99% случаев (за исключением форсмажоров или когда он заранее предупредил об этом), и пусть даже он не может сразу решить проблему, но хотя бы он обозначит её для себя и пообещает решить в какие-то названные им сроки.
Плохой можно назвать поддержку, когда разработчик отвечает в течение 1-3 дней и иногда старается помочь, иногда "гонит зайца дальше", сваливая вину на разработчиков других расширений.
Ужасная же поддержка, это поддержка от разработчиков sh404sef и Advanced Site Manager, это когда разработчик отвечает в течение недели, десяти дней или не отвечает вовсе, а когда отвечает, в его ответе зачастую присутствует вот это самое "я не я и ж%па не моя", ищите решение в другом месте.
Все это конечно печально.
Ну что делать, придется все решать своими мозгами. Итак, открываем файл: /administrator/components/com_sh404sef/helpers/autoloader.php и меняем там:
class Sh404sefAutoloader {
...
}
на
if ( !(class_exists( 'Sh404sefAutoloader'))) {
class Sh404sefAutoloader {
...
}
}
Т.е. мы заключили весь класс вместе с его фигурными скобками в конструкцию проверки условия со своими фигурными скобками.
Comments
Quote: Поскольку по упомянутому пути /plugins/system/sh404sef/sh404sef.php в плагине это строка:
Quote: Которая опять же вызывает класс этой статьи, выдающий ошибку.
RSS feed for comments to this post