Je l' ai écrasé Sitemap.php
dans app/code/local/Mage/Sitemap/Model/Sitemap.php
. Le fichier semble être utilisé, si je supprime tout le contenu, il y a une erreur comme prévu.
J'ai copié le contenu complet de la norme Sitemap.php
, avec un seul changement. J'ai ajouté
public function generateXml() {
Mage::log('test');
...
}
Quand je fais cela nulle part ailleurs, il imprime test
dans var/log/system.log
comme prévu, seulement dans ce fichier, il ne se connecte pas le message.
Toute aide est grandement appréciée
ÉDITER
en utilisant
Mage::log('text', null, <file>, true);
ne fonctionne pas non plus
var/log/
inscriptibles par votre utilisateur Web (apache
,httpd
,www-data
, etc.)SitemapController.php
, alors oui, ça l'est. et ouivar/log
est accessible en écriture. Merci pour vos idéesapp/code/local/Mage/Sitemap/Model/Observer.php
plutôt queSitemap.php
Réponses:
Je suppose que le fichier est chargé mais que la méthode n'est pas appelée. Il suffit donc de définir un point d'arrêt (ou une mauvaise façon a
die()
) dans votre méthode et assurez-vous qu'il est appelé.Une fois magento initialisé
Mage::log
au moins avec le$force
paramètre écrit son journalla source
Utilisez
Mage::log('text here', null, 'system.log', true)
.Cela devrait fonctionner tout le temps.
la source
Autre supposition ici - la génération du plan du site est généralement déclenchée par un cronjob. Si votre cronjob s'exécute sous un autre utilisateur que votre utilisateur Web et n'a pas les autorisations pour écrire dans votre fichier system.log existant, vous n'obtiendrez aucune entrée.
la source
Donnez le bon permis à votre
var/
dossier:Utilisez donc ce code ci-dessous:
la source
Mettez cette ligne dans n'importe quelle fonction ou fichier
ce fichier sera créé à l'intérieur de votre chemin de dossier racine comme
j'espère que cela fonctionnera pour vous.
la source