2

私はこのマルチサイト/ストアをmagentoでセットアップしましたが、に問題があり $_product->getUrlPath()ます。私はこれらの2つのショップを持っていますが、両方の製品をホームページに表示すると、常に同じリンクが表示されます

私がショップ1にいるとき(ショップ1からのものでなくても、すべての製品について):shop1.com/product-name.html

私がショップ2にいるとき(ここでも同じ):shop2.com/product-name.htmlではなくshop1.com/product-name.html

私も使ってみましたが、何 もして$_product->getProductUrlRewrite()いません。いつも同じことです。$_product->getProductUrl()$_product->getUrlKey()

4

1 に答える 1

2

途中で変更したり、製品属性を取得するストアを具体的に設定したりしない限り、製品はロードされたストアを念頭に置いてその URL を返します。

したがって、最初に行う必要があるのは、チェックして正しいストアがロードされていることを確認することです

Mage::app()->getStore();

返されたストアが期待したものではない場合は、最初の呼び出し時にどのストアが設定されているかを確認してください

Mage::run();

index.php で。

ストアが目的のストアである場合、および/または別のストアの製品 URL を表示したいだけの場合は、呼び出して使用するストアを製品モデルで設定できます。

$_product->setStoreId(YOUR_STORE_ID)

これにより製品ストアが設定され、そのストアから URL を取得できます。だから、呼び出し

$_product->setStoreId(YOUR_STORE_ID)->getProductUrl();

は、目的のストアの商品 URL を返します。

于 2012-12-28T20:48:59.813 に答える