0

商品レビューページ(http://mydomain.com/review/product/list/id/139/category/79/)にアクセスした顧客を実際の商品ページにリダイレクトする方法はありますか?

4

3 に答える 3

2

seoフレンドリーなURLが有効になっていると仮定すると、レビュー/製品を拡張してlistActionメソッドを書き換えるカスタムモジュールを作成できます。

/app/etc/modules/MageIgniter_ReviewRedirect.xml内

<?xml version="1.0"?>
<config>
  <modules>
    <MageIgniter_ReviewRedirect>
      <active>true</active>
      <codePool>local</codePool>
      <version>0.1.0</version>
    </MageIgniter_ReviewRedirect>
  </modules>
</config>

/app/code/local/MageIgniter/ReviewRedirect/controller/ReviewController.php内

include_once 'Mage/Review/controllers/ProductController.php';
class MageIgniter_ReviewRedirect_ReviewController extends Mage_Review_ProductController
{
    public function listAction(){
       if ($product = $this->_initProduct()) {
            $this->_redirect($product->getUrl());
       }

    }

/app/code/local/MageIgniter/ReviewRedirect/etc/config.xml内

<?xml version="1.0"?>
<config>
  <modules>
    <MageIgniter_ReviewRedirect>
      <version>0.1.0</version>
    </MageIgniter_ReviewRedirect>
  </modules>
  <frontend>
    <routers>
      <reviewredirect>
        <use>standard</use>
          <args>
            <modules>
                <MageIgniter_ReviewRedirect before="Mage_Review">MageIgniter_ReviewRedirect<MageIgniter_ReviewRedirect>
            </modules>
            <frontName>review</frontName>
          </args>
      </reviewredirect>
    </routers>
  </frontend>
  <global>
    <helpers>
      <reviewredirect>
        <class>MageIgniter_ReviewRedirect_Helper</class>
      </reviewredirect>
    </helpers>
  </global>
</config> 

/app/code/local/MageIgniter/ReviewRedirect/Helper/Data.php内

<?php
class MageIgniter_ReviewRedirect_Helper_Data extends Mage_Core_Helper_Abstract
{
}
于 2012-12-06T16:19:28.047 に答える
0

ProductControllerのメソッドlistActionにリダイレクトを配置できます。(app / code / core / mage / Review / controllers / ProductController.php)

編集:ベストプラクティスは、このコントローラーを上書きする独自のモジュールを作成することです。

于 2012-12-06T16:19:48.420 に答える
0

モジュール構成のみを必要とする古いMagentoには、それ以外の点では機能しない機能があります。

<config>
    <global>
        <rewrite>
            <yourmodulename>
                <from><![CDATA[#^/review/product/list#]]></from>
                <to><![CDATA[/catalog/product/view]]></to>
            </yourmodulename>
        </rewrite>
    </global>
</config>

その下ではpreg_replace、要求されたパスで使用しているだけなので、PCREパターンを問題なく理解できるはずです。少し想像力を働かせればapp/etc/local/xml、このためだけにモジュール全体を作成したくない場合は、上記をマージすることもできます。

于 2012-12-06T17:13:15.507 に答える