如果当在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(); } } ?>(责任编辑:好模板) |