Я переписал Sitemap.php
в app/code/local/Mage/Sitemap/Model/Sitemap.php
. Файл, похоже, используется, если я удаляю все содержимое, как и ожидалось, произошла ошибка.
Я скопировал полное содержание стандарта Sitemap.php
, с одним единственным изменением. я добавил
public function generateXml() {
Mage::log('test');
...
}
Когда я делаю это в другом месте, он печатает test
в , var/log/system.log
как и ожидалось, только в этом файле, он не регистрирует сообщение.
Любая помощь с благодарностью
РЕДАКТИРОВАТЬ
с помощью
Mage::log('text', null, <file>, true);
тоже не работает
var/log/
запись вашей веб - пользователя (apache
,httpd
,www-data
и т.д.)SitemapController.php
, так что да, это так. и даvar/log
доступно для записи. Спасибо за ваши идеиapp/code/local/Mage/Sitemap/Model/Observer.php
а неSitemap.php
Ответы:
Я предполагаю, что файл загружен, но метод не вызывается. Так что просто установите точку останова (или неверный способ a
die()
) в свой метод и убедитесь, что он вызывается.После инициализации magento
Mage::log
хотя бы с$force
параметром пишет свой логисточник
Использование
Mage::log('text here', null, 'system.log', true)
.Это должно работать все время.
источник
Другое предположение здесь - генерация карты сайта обычно запускается cronjob. Если ваш cronjob работает под другим пользователем, нежели ваш веб-пользователь, и у вас нет прав на запись в существующий файл system.log, вы не получите никаких записей.
источник
Дайте правильное разрешение на вашу
var/
папку:Так что используйте как этот код ниже:
источник
Поместите эту строку в любую функцию или файл
этот файл будет создан внутри вашего пути к корневой папке, как
надеюсь, это будет работать для вас.
источник