Я розробив замовний модуль, в якому перераховано декілька людей на сайті. У кожної людини є своя URL-адреса (на замовлення Magento-контролера, який робить основні CRUD на моделях Person), і мені потрібно подати ці загальнодоступні URL-адреси у XML-файл Google Sitemap.
Я хочу використовувати Magento власне покоління мапи сайту та cron, якщо зможу.
Mage_Sitemap_Model_Observer
Вже тягне все Sitemap записи з sitemaps
таблиці і один за іншим називає свої generateXml()
методи.
$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();
}
}
Я думаю, що мені потрібно додати свій новий файл Sitemap до sitemaps
таблиці, який потім буде викликаний, щоб генерувати мій (окремий) XML-файл для моїх власних записів моделі. Однак я не знаю, як сказати Magento використовувати мій розширений, My_Module_Model_Sitemap
а не просто Mage_Sitemap_Model_Sitemap
, останнє з якого просто дасть мені XML-файл із переліком усіх тих самих категорій, продуктів та CMS-сторінок як основні карти сайту.
У sitemaps
таблиці є sitemap_type
стовпець, але на це ніколи не посилається в кодовій базі Magento, наскільки я можу сказати.
Як я можу використовувати вбудований двигун сайту карти Magento під час перезапису, Mage_Sitemap_Model_Sitemap
щоб мати власний generateXml()
метод? Або я мушу створити альтернативну систему Sitemap лише для своїх власних цілей?
Mage_Sitemap_Model_Sitemap
та дає мені ще одну мапу сайту, що містить продукти, категорії, сторінки CMS - він не використовує мою розширену версію. Я не впевнений, як сказати, як це зробити.
Mage_Sitemap_Model_Sitemap
сайту, а також додаю власну модель під категорію та продуктові дзвінки. Незабаром оновиться з прогресом.
Mage_Sitemap_Model_Sitemap
клас і перезаписатиgenerateXml()
правильно? що ви пробували?