0

私の問題は次のとおりです。Magentoは新製品のURL書き換えを作成し、さまざまなリストでさまざまなURLを使用します。私の製品が2つのカテゴリFooに属している場合Bar、Magentoは実際に必要なURLに加えて2つのURLを使用します。

  • カテゴリリスト内Foo => /store/type/foo/product.html
  • カテゴリリスト内Bar => /store/type/bar/product.html
  • 通常のリンクでは/store/product.html

/store/product.htmlMagentoがストア全体でURLのみを使用するようにしたい/必要があります。そのための管理ページに設定が見つかりませんでした。

Magentoを使用し1.5.1.0ます。

4

3 に答える 3

3

[システム]->[構成]->[カタログ]の[製品URLにカテゴリパスを使用する]プロパティを[いいえ]に変更します。

于 2013-02-19T12:20:29.133 に答える
1

何らかの理由で、Magentoはすべてのストアの設定を無視しました。コードを検索した後、メソッドMage_Catalog_Model_Product_Url::getUrl()がこの設定を。でチェックしていることがわかりました$product->getDoNotUseCategoryId()NULLこのメソッドを呼び出したところ、すべての製品で返されました。

これを解決するために、私は自分の製品クラスでこのメソッドをオーバーロードしました。

public function getDoNotUseCategoryId(){
    return true;
}

これは機能します。

存在しない属性などに問題があるかもしれませんが、これが機能する限り、私はそれを使用します。

于 2013-02-19T13:10:48.947 に答える
0

あらゆる場所でこれを行う簡単な方法が1つあります。それは、URl.phpをURl.phpからコピーしてからにコピーapp\code\core\Mage\Catalog\Model\Productすることapp\code\local\Mage\Catalog\Model\Productです。その後、getUrl機能を更新する必要があります。

この行を見つけて:$categoryId = $product->getCategoryId() && !$product->getDoNotUseCategoryId() ? $product->getCategoryId() : null;そして更新して$categoryId = $product->getCategoryId() && Mage::getStoreConfig('catalog/seo/product_use_categories') ? $product->getCategoryId() : null;

これが誰かを助けることを願っています。

于 2013-08-22T12:29:14.257 に答える