我在magento中使用过滤器导航,因此过滤页面的网址显示如下:www.example.com/page#cat=16&gan_data=true
我想更改类别中的URL键,以便它们指向顶级菜单,包括过滤器设置(如url abowe),而不是子级页面。
问题是,当我保存这样的URL密钥时,哈希标记会从#更改为 - ,因此新网址如下所示:www.example.com/page-cat-16-gan-data-true < / p>
有什么方法可以避免这种情况吗?
答案 0 :(得分:2)
格式化URL密钥的方法是Mage_Catalog_Model_Category :: formatUrlKey():
public function formatUrlKey($str)
{
$str = Mage::helper('core')->removeAccents($str);
$urlKey = preg_replace('#[^0-9a-z]+#i', '-', $str);
$urlKey = strtolower($urlKey);
$urlKey = trim($urlKey, '-');
return $urlKey;
}
任何非字母数字字符都将替换为短划线。所以,如果没有一些工作,你就无能为力。
您有几个选择:
第二个选项与升级最兼容,但不幸的是,目录URL重写索引将重新格式化URL密钥 - 通过相同的方法。因此,您必须覆盖Category类以更改formatUrlKey()方法。