Magento - 将点击评论页面的客户重定向到产品页面

时间:2012-12-06 16:07:31

标签: magento magento-1.6

有没有办法将点击产品评论页面的客户(http://mydomain.com/review/product/list/id/139/category/79/)重定向到实际的产品页面?

3 个答案:

答案 0 :(得分:2)

假设启用了seo friendly url,那么您可以创建一个扩展review / product并重写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
{
}

答案 1 :(得分:0)

您可以在ProductController中的方法listAction上放置重定向。 (应用程序/代码/核心/法师/评论/控制器/ ProductController.php)

编辑:最佳做法是创建自己的模块来覆盖此控制器,

答案 2 :(得分: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