西部数码主机 | 阿里云主机| 虚拟主机 | 服务器 | 返回乐道官网
当前位置: 主页 > php教程 > magento教程 >

在Magento中不同的商店获取被重写后的产品网址

时间:2016-12-19 19:09来源:未知 作者:好模板 点击:
如果当在Magento你想要获取的产品已经被重写那么将很麻烦。我想到一个返回被重写产品网址的方法。你将需要添加一个店铺的基本网址来返回一个完整网址的值。 要注意的是:这个方

如果当在Magento你想要获取的产品已经被重写那么将很麻烦。我想到一个返回被重写产品网址的方法。你将需要添加一个店铺的基本网址来返回一个完整网址的值。

要注意的是:这个方法只有在设置了网址关键字(URL key)属性集范围的店视图(store view)才有效。这意味着一件商品在不同店视图中的网址是不一样的。例如:一个产品在英文店铺中的网址关键字(URL key)是'nokia-blue',在德文店铺中的网址关键字(URL key)是'nokia blau'。这将作用于你正在编辑产品的重写。如果你决定在网址重写中添加一个你自己的网址重写,也许你有一个很好的理由,但是我们不会被这种情况覆盖。

这次我不会去创建和注册一个模块。让我们以加入这个方法到你的模块助手中开始。

app/code/community/Alwayly/Rewrites/Helper/Data.php

<?php
class Alwayly_Rewrites_Helper_Data extends Mage_Core_Helper_Abstract
{
    public function rewrittenProductUrl($productId, $categoryId, $storeId)
    {
        $coreUrl = Mage::getModel('core/url_rewrite');
        $idPath = sprintf('product/%d', $productId);
        if ($categoryId) {
            $idPath = sprintf('%s/%d', $idPath, $categoryId);
        }
        $coreUrl->setStoreId($storeId);
        $coreUrl->loadByIdPath($idPath);
 
        return $coreUrl->getRequestPath();
    }
}
?>
(责任编辑:好模板)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------