Magento追加网址的完整类别路径?

时间:2012-09-14 08:11:49

标签: magento

我的Magento安装有问题。我正在使用追加销售功能来提供更有趣的产品。输出工作到目前为止,但我的产品网址存在很大问题。

网址链接到my-shop.com/product.html而不是my-shop.com/category-1/category-2/product.html。这很糟糕,因为我正在为每个顶级类别调用特殊的侧边栏导航。所以什么都没有显示......

我正在使用标准的追加销售输出:

<a href="<?php echo $_link->getProductUrl() ?>" class="product-image"><img src="<?php echo $this->helper('catalog/image')->init($_link, 'small_image')->resize(115) ?>" width="115" height="115" alt="<?php echo $this->htmlEscape($_link->getName()) ?>" title="<?php echo $this->htmlEscape($_link->getName()) ?>" /></a> <h3 class="product-name"><a href="<?php echo $_link->getProductUrl() ?>"><?php echo $this->htmlEscape($_link->getName()) ?></a></h3> <?php echo $this->getReviewsSummaryHtml($_link) ?> <?php echo $this->getPriceHtml($_link, true, '-upsell') ?>

(我无法发布整个代码,编辑器会删除大部分代码)

我已尝试使用$ _link-&gt; getProductPath(),但输出为空。

我还检查了System-&gt; Config-&gt; Catalog-&gt;搜索引擎优化中的设置。使用“产品URL的类别路径”设置为“是”。

有人知道如何获取产品的完整路径网址吗?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用以下逻辑来获取产品网址。相应地更新变量。

<?php
    $_prodcats = $_product->getCategoryIds();
    $_cat = Mage::getModel('catalog/category')->load($_prodcats[0]);
    $produrl = $this->helper('catalog/output')->productAttribute($_product, $_product->getRequestPath(), 'request_path') ;
    if($this->getRequest()->getModuleName() == 'catalogsearch') {
        $produrl = '/'. basename($_cat->getUrl()) .'/' . basename($_product->getProductUrl()) ;
    }
?>