Magento商品标签Tags友好Url

想要Magento Seo尽善尽美的人,很关注Magento Tags(商品标签)的Url优化。我们来看下优化过和未优化过的Url的区别。

未优化:http://127.0.0.1/index.php/tag/product/list/tagId/12/

优化后:http://127.0.0.1/index.php/tag/product/list/tagId/cool/

我给大家演示下,基本的修改方法,虽未尽善尽美,但也达到目的了。

如何修改呢?

如下为需要修改的文件路径以及代码片段,注意这些文件是在core中的,不可直接修改,请按照magento的开发规范来做覆盖处理。

app\code\core\Mage\Tag\Model\Tag.php  此文件会影响前台,类此此处的标签的网址呈现方式。

magento标签网址优化
magento标签网址优化
public function getTaggedProductsUrl()
    {
        //return Mage::getUrl('tag/product/list', array('tagId' => $this->getTagId()));
		return Mage::getUrl('tag/product/list', array('Name' => $this->getName()));
    }

app\code\core\Mage\Tag\controllers\ProductController.php 此文件会将Url翻译成动作。此文件中的那个 if判断若不注释掉似乎只会显示404,我未深究,大家可以注释掉,或者debug下。

//$tagId = $this->getRequest()->getParam('tagId');
//$tag = Mage::getModel('tag/tag')->load($tagId);

//通过tag名字加载tag list   loadByName
$tagName = $this->getRequest()->getParam('Name');
$tag = Mage::getModel('tag/tag')->loadByName($tagName);

修改完这两处,既可以完成Magento 标签网址的初步优化。至少不是tag的ID号了。如下图,看着也很爽吧。

继续阅读“Magento商品标签Tags友好Url”