gpt4 book ai didi

弹出窗口中的 Magento 产品评论表

转载 作者:行者123 更新时间:2023-12-04 05:21:53 24 4
gpt4 key购买 nike

关闭。这个问题是off-topic .它目前不接受答案。












想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。

8年前关闭。




Improve this question




我从产品页面中删除了评论表单,因为我使用了一个扩展程序,该扩展程序向客户发送了一封电子邮件,其中包含指向特定 URL 的链接,其中包含他们购买的产品的评论表单。

但我需要一个或多或少的隐藏页面 (www.shop.com/productname/review) 和评论表格,如果我在商店外出售产品。

我使用 Magento 1.6

最佳答案

我希望你对 Magento 的内部工作有点熟悉,因为这绝对不适合初学者:)。

首先,您需要先观察 controller_front_init_router事件,像这样:

<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>

现在,如果您参与过开发工作,您会注意到我在这里使用 Controller 作为观察者的做法有点不合常规。对我来说,它清理了一点点。但是,谁知道,可能有更好的方法来做到这一点?

这是 Controller 。如您所见,我们已经有效地将我们的路由器插入到路由器匹配列表的末尾(如果您查看 default,就在 Mage_Core_Controller_Varien_Front 路由器之前)。
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;

}

}

关于弹出窗口中的 Magento 产品评论表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13594415/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com