monsieurbiz / mbiz_sitemap
Magento 模块,用于添加生成 XML 网站地图的模型。
v0.1.0
2017-10-04 08:48 UTC
Suggests
- magento-hackathon/magento-composer-installer: Allows to manage this package as a dependency.
This package is auto-updated.
Last update: 2024-08-29 04:20:06 UTC
README
此扩展简化了 sitemap.xml 的生成。
工作原理
它非常简单。
根据 app/etc/config.xml
中的 cron 设置,每 30 分钟将生成网站地图。
默认情况下没有定义网站地图。您可以通过监听事件 mbiz_sitemap_generate_sitemap
并在代码中将网站地图添加到索引中来添加网站地图。
示例
这是事件 mbiz_sitemap_generate_sitemap
的观察者。
class Acme_Demo_Model_Observer { public function generateSitemaps(Varien_Event_Observer $observer) { // Fill the sitemap $sitemap = Mage::getModel('mbiz_sitemap/sitemap'); $collection = Mage::getResourceModel('acme_demo/article_collection'); foreach ($collection as $article) { $sitemap->addUrl( $article->getUrl(), // URL date('c', strtotime($article->getUpdatedAt())), // Last Updated 'monthly', // Frequency 0.8 // Priority ); } // Generate the XML file $sitemap->generate( Mage::getBaseDir() . DS . 'sitemaps' . DS . 'articles.xml', // The XML file Mage::getUrl('', [ // The URL '_direct' => 'sitemaps/articles.xml', '_type' => Mage_Core_Model_Store::URL_TYPE_DIRECT_LINK, ]) ); $observer->getIndex()->addSitemap($sitemap); } }
故障排除
网站地图索引在哪里?
您可以在那里找到索引:/sitemap-index-CODE.xml
,其中 CODE
是商店代码。默认情况下为 /sitemap-index-default.xml
。
目前该模块只为 store_id=1
的商店生成。
我如何更改计划?
您可以通过更新配置并使用自己的模块来更改计划。目前无法通过管理员面板更改它。
我需要在何处生成网站地图?
您可以在观察者中选择在何处生成网站地图。
默认情况下,模块创建 /sitemaps
目录。因此,您可以在其中生成它们。
但是,如果您想在其他地方生成网站地图,您也可以这样做,它将正常工作。
我可以自己生成网站地图吗?
是的,只需运行此代码
Mage::getSingleton('mbiz_sitemap/cron')->generateSitemaps();
许可证
请参阅 LICENSE。
维护者
此模块由 Monsieur Biz 维护。