J'ai développé un module sur mesure qui répertorie une série de personnes sur le site. Chaque personne a sa propre URL (un contrôleur Magento sur mesure, qui fait CRUD de base sur les modèles Personne) et je dois alimenter ces URL publiques dans un fichier XML Google Sitemap.
Je veux utiliser la propre génération de sitemap de Magento et le cron si je le peux.
Le Mage_Sitemap_Model_Observer
tire déjà tous les enregistrements Sitemap de la sitemaps
table et un par un appelle leurs generateXml()
méthodes.
$collection = Mage::getModel('sitemap/sitemap')->getCollection();
/* @var $collection Mage_Sitemap_Model_Mysql4_Sitemap_Collection */
foreach ($collection as $sitemap) {
/* @var $sitemap Mage_Sitemap_Model_Sitemap */
try {
$sitemap->generateXml();
}
catch (Exception $e) {
$errors[] = $e->getMessage();
}
}
Je pense que je dois ajouter mon nouveau plan Sitemap dans le sitemaps
tableau qui sera ensuite appelé pour générer mon fichier XML (séparé) pour mes enregistrements de modèles personnalisés. Cependant, je ne sais pas comment dire à Magento d'utiliser mon extension My_Module_Model_Sitemap
au lieu de juste Mage_Sitemap_Model_Sitemap
, ce dernier me donnera simplement un fichier XML répertoriant toutes les mêmes catégories, produits et pages CMS que les plans de site principaux.
Le sitemaps
tableau a une sitemap_type
colonne, mais cela n'est jamais référencé dans la base de code Magento pour autant que je sache.
Comment puis-je utiliser le moteur de sitemap intégré de Magento tout en écrasant le Mage_Sitemap_Model_Sitemap
pour avoir ma propre generateXml()
méthode? Ou dois-je créer un autre système de plan de site juste pour mes propres besoins ici?
Mage_Sitemap_Model_Sitemap
et me donne un autre plan du site contenant les produits, les catégories, les pages CMS - il n'utilise pas ma version étendue. Je ne sais pas comment lui dire comment faire.
Mage_Sitemap_Model_Sitemap
site et ajouter mon propre modèle dans la catégorie et les appels de produits. Mettra à jour bientôt avec les progrès.
Mage_Sitemap_Model_Sitemap
classe et écraser àgenerateXml()
droite? qu'as-tu essayé?