弹出窗口中的Magento产品审查表
我从产品页面中删除了评论表单,因为我使用了一个扩展,它向客户发送了一封电子邮件,其中包含指向特定url的链接以及他们购买的产品的评论表单 但是,如果我在店外销售产品,我需要一个或多或少隐藏的页面(www.shop.com/productname/review)和评论表单弹出窗口中的Magento产品审查表,magento,magento-1.6,Magento,Magento 1.6,我从产品页面中删除了评论表单,因为我使用了一个扩展,它向客户发送了一封电子邮件,其中包含指向特定url的链接以及他们购买的产品的评论表单 但是,如果我在店外销售产品,我需要一个或多或少隐藏的页面(www.shop.com/productname/review)和评论表单 我使用的是Magento 1.6我希望您对Magento的内部工作稍微熟悉一点,因为这绝对不是为初学者准备的:) 首先,您需要从观察控制器前端初始化路由器事件开始,如下所示: <global> <eve
我使用的是Magento 1.6我希望您对Magento的内部工作稍微熟悉一点,因为这绝对不是为初学者准备的:) 首先,您需要从观察
控制器前端初始化路由器事件开始,如下所示:
<global>
<events>
<controller_front_init_routers>
<observers>
<controller_noroute>
<type>singleton</type>
<class>Namespace_Module_Controller_Router</class>
<method>initControllerRouters</method>
</controller_noroute>
</observers>
</controller_front_init_routers>
</events>
</global>
你是对的,这对初学者来说不算什么:|记住,如果它回答了你的问题,就把它标记为一个答案。我会的,但我不是开发人员,也不能实现它(这很奇怪。他们从来没有提到你必须是一名开发人员才能接受答案。试着在复选框上滚动鼠标一两秒钟,它也没有提到这方面的任何内容。@bassplayer7你很有趣。如果我不能测试它,我怎么知道这是否有效。
class Namespace_Module_Controller_Router extends Mage_Core_Controller_Varien_Router_Abstract
{
public function initControllerRouters($observer)
{
/* @var $front Mage_Core_Controller_Varien_Front */
$front = $observer->getFront();
$front->addRouter('Namespace_Module', $this);
}
public function match(Zend_Controller_Request_Http $request) {
$identifier = trim($request->getPathInfo(), '/');
$parts = explode("/", $identifier);
if (count($parts) > 1) {
$productKey = $parts[0];
$action = $parts[1];
if (count($parts) > 2 && (count($parts)%2) == 0) {
for ($i = 2; $i < count($parts); $i++) {
$request->setParam($parts[$i], $parts[$i++]);
}
}
$product = Mage::getModel('catalog/product')->loadByAttribute($productKey, 'url_key');
if ($product->getId()) {
$request->setModuleName('your_module')
->setControllerName('index')
->setActionName($action);
$request->setAlias(Mage_Core_Model_Url_Rewrite::REWRITE_REQUEST_PATH_ALIAS, $identifier);
return true;
} else {
// Redirect to an error.
return true;
}
}
return false;
}
}