Ich habe überschrieben Sitemap.php
in app/code/local/Mage/Sitemap/Model/Sitemap.php
. Die Datei scheint verwendet zu werden. Wenn ich alle Inhalte entferne, liegt erwartungsgemäß ein Fehler vor.
Ich habe den gesamten Inhalt des Standards Sitemap.php
mit einer einzigen Änderung kopiert . Ich fügte hinzu
public function generateXml() {
Mage::log('test');
...
}
Wenn ich dies tun anderswo, druckt es test
in var/log/system.log
wie erwartet, nur in dieser Datei, es die Nachricht nicht anmelden.
Jede Hilfe wird sehr geschätzt
BEARBEITEN
mit
Mage::log('text', null, <file>, true);
geht auch nicht
var/log/
beschreibbar durch Ihren Web - Benutzer (apache
,httpd
,www-data
, etc.)SitemapController.php
, also ja. und javar/log
ist beschreibbar. Vielen Dank für Ihre Ideenapp/code/local/Mage/Sitemap/Model/Observer.php
anstattSitemap.php
Antworten:
Ich würde annehmen, die Datei ist geladen, aber die Methode wird nicht aufgerufen. Setzen Sie einfach einen Haltepunkt (oder einen schlechten Weg a
die()
) in Ihre Methode und stellen Sie sicher, dass er aufgerufen wird.Nachdem Magento initialisiert wurde, schreibt
Mage::log
zumindest der$force
Parameter sein Protokollquelle
Verwenden Sie
Mage::log('text here', null, 'system.log', true)
.Das sollte die ganze Zeit funktionieren.
quelle
Eine andere Vermutung hier - die Sitemap-Generierung wird im Allgemeinen durch einen Cronjob ausgelöst. Wenn Ihr Cronjob unter einem anderen Benutzer als Ihrem Webbenutzer ausgeführt wird und nicht über die Berechtigung zum Schreiben in Ihre vorhandene system.log-Datei verfügt, werden keine Einträge angezeigt.
quelle
Geben Sie Ihrem
var/
Ordner die richtige Erlaubnis :Verwenden Sie also den folgenden Code:
quelle
Fügen Sie diese Zeile in eine beliebige Funktion oder Datei ein
Diese Datei wird wie folgt in Ihrem Stammordner erstellt
hoffe es wird für dich funktionieren.
quelle