Opracowałem na zamówienie moduł, który wymienia szereg osób na stronie. Każda osoba ma własny adres URL (specjalnie zaprojektowany kontroler Magento, który wykonuje podstawowe CRUD w modelach Person) i muszę podać te publiczne adresy URL do pliku XML Google Sitemap.
Chcę użyć generowania map witryn Magento i crona, jeśli mogę.
Mage_Sitemap_Model_Observer
Już ściąga wszystkie rekordy witryny z sitemaps
tabeli i jeden po drugim nazywa swoje generateXml()
metody.
$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();
}
}
Myślę, że muszę dodać nową mapę witryny do sitemaps
tabeli, która zostanie następnie wywołana w celu wygenerowania (osobnego) pliku XML dla rekordów modelu niestandardowego. Nie wiem jednak, jak powiedzieć Magento, aby używał mojego rozszerzonego My_Module_Model_Sitemap
zamiast zwykłego Mage_Sitemap_Model_Sitemap
, z którego ten ostatni da mi tylko plik XML z listą wszystkich tych samych kategorii, produktów i stron CMS jako głównych map witryn.
sitemaps
Tabela ma sitemap_type
kolumnę, ale to nigdy nie jest wymieniony w Magento CODEBASE ile mogę powiedzieć.
Jak mogę korzystać z wbudowanego silnika mapy witryny Magento, nadpisując przy tym Mage_Sitemap_Model_Sitemap
swoją własną generateXml()
metodę? A może muszę tutaj zbudować alternatywny system map witryn tylko do własnych celów?
Mage_Sitemap_Model_Sitemap
i daje mi kolejną mapę witryny zawierającą produkty, kategorie, strony CMS - nie używa mojej rozszerzonej wersji. Nie jestem pewien, jak to powiedzieć.
Mage_Sitemap_Model_Sitemap
witryny i dodaniem własnego modelu w ramach kategorii i wywołań produktów. Zaktualizuje wkrótce z postępem.
Mage_Sitemap_Model_Sitemap
klasę i zastąpić,generateXml()
prawda? czego próbowałeś