Php Magento 1.7中的产品URL重写问题
我的Magento 1.7安装有一个奇怪的问题,所有的产品URL中都有类别键,但是Up-Sell产品(在产品的详细信息页面上)显示的URL中缺少类别键。相关产品的URL是可以的 我的Magento设置如下所示:Php Magento 1.7中的产品URL重写问题,php,magento,Php,Magento,我的Magento 1.7安装有一个奇怪的问题,所有的产品URL中都有类别键,但是Up-Sell产品(在产品的详细信息页面上)显示的URL中缺少类别键。相关产品的URL是可以的 我的Magento设置如下所示: “为产品URL使用类别路径”=>是 “如果URL键更改,则为URL创建永久重定向”=>否 “为类别URL使用父类别路径”=>否 我的产品是: 位于2类深度,表示cat1/cat2/产品 所有产品url均采用以下格式::site\u url/cat2/product\u key 一种产
- “为产品URL使用类别路径”=>是
- “如果URL键更改,则为URL创建永久重定向”=>否
- “为类别URL使用父类别路径”=>否
非常希望得到任何帮助。我找到了一个解决方案,可以在追加销售产品的URL中包含类别名称 我不得不在my_theme/template/catalog/product/list/upsell.phtml修改文件 在第51行附近,就在第51行之后:
<?php if($_link=$this->getIterableItem()):
并使用$\uURL变量作为产品的url。这非常有效。最好在$\u categories是if函数的地方使用这段代码
$d = $_link->getData();
$id = $d['entity_id'];
$_product = Mage::getModel('catalog/product')->load($id);
$_categories = $_product->getCategoryIds();
if($_categories) {
$_category = Mage::getModel('catalog/category')->load($_categories[0]);
$cat_url = str_replace(".html","",$_category->getUrlPath());
$_url = Mage::getUrl($cat_url).basename($_link->getProductUrl());
}
对于输出URL:
<?php if ($_categories) { echo $_url; }; ?>
否则,当项目没有类别时,system.log会统计错误
<?php if ($_categories) { echo $_url; }; ?>