Magento如何从类别URL中删除父类别

时间:2014-02-04 12:32:35

标签: magento url

我想从类别网址中删除子类别,例如 http://localhost.com/cat-1/cat-2/ => http://localhost.com/cat-2/

任何人都可以帮忙吗? 仅供参考:我正在研究Magento EE 1.13.1.0

我尝试通过覆盖app / code / core / Mage / Catalog / Model / Url.php文件来解决这个问题。

2 个答案:

答案 0 :(得分:4)

我找到以下方法删除 本地主机/ testmagento / index.php的/父/ child.html 至 本地主机/ testmagento / index.php的/ child.html

步骤1.转到app / code / core / Mage / Catalog / Model / Url.php将此文件复制到app / code / local / Mage / Catalog / Model / Url.php,因为它是核心Magento文件,以便我们必须将该文件复制到app / code / local。

步骤2:现在在Magento ver中搜索第698行的getCategoryRequestPath($ category,$ parentPath)。 1.9.1.0

步骤3:在第717行周围搜索if(null === $ parentPath)并按如下方式对该行进行注释:

/* if (null === $parentPath) {
$parentPath = $this->getResource()->getCategoryParentPath($category);
}
elseif ($parentPath == '/'){*/
$parentPath = ''; //DO NOT Comment this line
//} 

步骤4:现在转到Magento管理员和清除缓存系统 - >缓存管理和重新索引系统 - >索引管理数据。

步骤5:刷新浏览器缓存并再次导航,现在您只会看到Url中的子类别而不是父类别

如果您有任何疑问,请告诉我

答案 1 :(得分:2)

在1.13中,可以选择使用产品网址的类别路径,但是没有选项可以从类别网址中删除类别路径

所以,我已经创建了一个简单的模块来解决这个问题。

https://github.com/alitopaloglu/ExcParentCatPathFromSubCatUrls

注意 - 仅为MAGENTO ENTERPRISE EDITION开发v1.13

此模块在

上添加标记为“使用类别URL的父类别路径”的是/否选项

Magento管理员面板 - >系统 - >配置 - >目录 - > Seo选项

从网址中删除父类别路径,并将其从www.domain.com/cat1/cat2更改为www.domain.com/cat2

用法:

  1. 转到Magento管理面板 - >系统 - >配置 - >目录 - > Seo选项
  2. 从“使用类别网址的父类别路径”
  3. 中选择是或否
  4. 刷新类别网址索引
  5. 选项YES => www.domain.com/cat1/cat2

    选项NO => www.domain.com/cat2