對于tag
也就是在url中有tag的url,希望改成wholesale等其他方式,
1
參看blog插件方式:
在etc/config.xml中添加事件:
<events>
?<sitemap_add_xml_block_to_the_end>
??????????????? <observers>
??????????????????? <add_blog_section>
??????????????????????? <type>singleton</type>
??????????????????????? <class>blog/observer</class>
??????????????????????? <method>addBlogSection</method>
??????????????????? </add_blog_section>
??????????????? </observers>
??????????? </sitemap_add_xml_block_to_the_end>
??????? </events>
?
然后通過方法:
?public function addBlogSection($observer)
??? {
??????????? $sitemapObject = $observer->getSitemapObject();
??????????? if (!($sitemapObject instanceof Mage_Sitemap_Model_Sitemap))
??????????????? throw new Exception(Mage::helper('blog')->__('Error during generation sitemap'));
???????????
??????????? $storeId = $sitemapObject->getStoreId();
??????????? $date??? = Mage::getSingleton('core/date')->gmtDate('Y-m-d');
??????????? $baseUrl = Mage::app()->getStore($storeId)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
??????????? /**
???????????? * Generate blog pages sitemap
???????????? */
??????????? $changefreq = (string)Mage::getStoreConfig('sitemap/blog/changefreq');
??????????? $priority?? = (string)Mage::getStoreConfig('sitemap/blog/priority');
??????????? $collection = Mage::getModel('blog/blog')->getCollection()->addStoreFilter($storeId);
??????????? Mage::getSingleton('blog/status')->addEnabledFilterToCollection($collection);
??????????? $route = Mage::getStoreConfig('blog/blog/route');
??????????? if ($route == "") {
?????????????? $route = "blog";
??????????? }
??????????? foreach ($collection as $item) {
??????????????? $xml = sprintf('<url><loc>%s</loc><lastmod>%s</lastmod><changefreq>%s</changefreq><priority>%.1f</priority></url>',
??????????????????? htmlspecialchars($baseUrl . $route . '/' . $item->getIdentifier()),
??????????????????? $date,
??????????????????? $changefreq,
??????????????????? $priority
??????????????? );
??????????????? $sitemapObject->sitemapFileAddLine($xml);
??????????? }
??????????? unset($collection);
??? }
來實現,這種方式很靈活,是可以在后臺定義router的,下面來看第二種
?
?
2
這種方式比較簡單了,具體為新建一個module,然后routername為你要修改的名字,然后
事件
?<controller_front_init_routers>
進行處理判斷,如果符合條件,執行下面語句:
?
?
?
$request->setModuleName('tag')
??? ??? ??? ??? ??? ->setControllerName('product')
??? ??? ??? ??? ??? ->setActionName('list');
?
然后就轉移到相應的module了,但是url是不會變了
如果這個module的router為wholesale,那么,url不會跳轉,執行的為tag/product/list的代碼:
3
這是一種最笨的辦法了,將tag改,改他的源代碼,極力不推薦!!!
?
magneto。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。