Ho sviluppato un modulo su misura che elenca una serie di persone sul sito. Ogni persona ha il proprio URL (un controller Magento su misura, che esegue CRUD di base sui modelli Person) e ho bisogno di inserire questi URL pubblici in un file XML di Google Sitemap.
Voglio usare la generazione di sitemap di Magento e il cron, se posso.
Il Mage_Sitemap_Model_Observer
già estrae tutti i record della Sitemap dalla sitemaps
tabella e uno a uno chiama i loro generateXml()
metodi.
$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();
}
}
Penso di dover aggiungere la mia nuova Sitemap nella sitemaps
tabella che verrà quindi chiamata per generare il mio file XML (separato) per i miei record del modello personalizzato. Tuttavia, non so come dire Magento di usare la mia esteso My_Module_Model_Sitemap
anziché solo Mage_Sitemap_Model_Sitemap
, l'ultima delle quali sarà solo darmi un file XML che elenca tutte le stesse categorie, i prodotti e le pagine CMS come le principali Sitemap.
La sitemaps
tabella ha una sitemap_type
colonna, ma questo non è mai indicato nella base di codice Magento per quanto ne so.
Come posso usare il motore di sitemap integrato di Magento mentre sovrascrivo il Mage_Sitemap_Model_Sitemap
per avere il mio generateXml()
metodo? O devo creare un sistema sitemap alternativo solo per i miei scopi qui?
Mage_Sitemap_Model_Sitemap
e mi dà un'altra sitemap contenente i prodotti, le categorie, le pagine CMS - non usa la mia versione estesa. Non sono sicuro di come dirlo come farlo.
Mage_Sitemap_Model_Sitemap
sito e aggiungendo il mio modello sotto la categoria e le chiamate di prodotto. Si aggiornerà presto con progressi.
Mage_Sitemap_Model_Sitemap
classe e sovrascriveregenerateXml()
giusto? cosa hai provato