在Magento模板开发中,有时候需要将多级分类的url简化,Magento的URL默认是显示多级分类的

http://www.a.com/分类1/分类2/分类3

现在需要简化为:

分类2的URL为:http://www.a.com/分类2

分类3的URL为:http://www.a.com/分类3

具体修改方法如下:

打开app/code/core/Mage/Catalog/Model/Url.php这个php文件,找到

  1. if (null === $parentPath) {
  2. $parentPath = $this->getResource()->getCategoryParentPath($category);
  3. }
  4. elseif ($parentPath == '/') {
  5. $parentPath = '';
  6. }

把上面的代码修改为:

  1. //if (null === $parentPath) {
  2. //$parentPath = $this->getResource()->getCategoryParentPath($category);
  3. //}
  4. //elseif ($parentPath == '/') {
  5. $parentPath = '';
  6. //}

其实就是把这段代码屏蔽掉了。
其中

  1. $parentPath = $this->getResource()->getCategoryParentPath($category);

是获取分类的父级分类,下面将父级分类设置为空则在生成的URL中屏蔽掉父级
仔细观察core_url_rewrite表里面的数据 就会发现

发表评论

电子邮件地址不会被公开。 必填项已用*标注