gpt4 book ai didi

php - Magento 1.7 - 如何扩展核心 Controller

转载 作者:可可西里 更新时间:2023-10-31 23:42:22 24 4
gpt4 key购买 nike

我正在尝试使用此设置扩展 OnepageController:

应用程序/etc/modules/Custom_Checkout.xml

<config>
<modules>
<Custom_Checkout>
<active>true</active>
<codePool>local</codePool>
</Custom_Checkout>
</modules>
</config>

app/local/Custom/Checkout/etc/config.xml

<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Custom_Checkout>
<version>0.0.1</version>
</Custom_Checkout>
</modules>
<frontend>
<routers>
<checkout>
<args>
<modules>
<custom_checkout before="Mage_Checkout">Custom_Checkout</custom_checkout>
</modules>
</args>
</checkout>
</routers>
</frontend>
</config>

app/local/Custom/Checkout/controllers/OnepageController.php

require_once("Mage/Checkout/controllers/OnepageController.php");

class Custom_Checkout_OnepageController extends Mage_Checkout_OnepageController
{

public function indexAction()
{
echo "Index overidden";
}

}

我看过这些: Extend magento core controller (Checkout/OnepageController)

http://www.magentocommerce.com/wiki/5_-_modules_and_development/0_-_module_development_in_magento/how_to_overload_a_controller

还有一些我无法发布,但上述方法似乎都不起作用。它只是不会覆盖 Controller 。

关于为什么这不是覆盖的任何想法?

最佳答案

不幸的是,这里可能有无数错误,而您的帖子中没有足够的信息来追踪它们。这里没有答案,而是调试提示。查看 _validateControllerClassName 函数。

protected function _validateControllerClassName($realModule, $controller)
{
$controllerFileName = $this->getControllerFileName($realModule, $controller);
if (!$this->validateControllerFileName($controllerFileName)) {
return false;
}

$controllerClassName = $this->getControllerClassName($realModule, $controller);
if (!$controllerClassName) {
return false;
}

// include controller file if needed
if (!$this->_includeControllerClass($controllerFileName, $controllerClassName)) {
return false;
}

return $controllerClassName;
}

每个 return false 都是 Magento 可能决定不使用您的 Controller 类进行请求的状态。尝试在 if 语句的内部和外部添加一些日志记录或 $controllerFileName$controllerClassNamevar_dumping。这通常足以指出文件路径名或类中的小错误(大小写、缺少字符等)来构建您的模块。

如果您没有看到任何与 Custom_Checkout 相关的信息,这意味着 Magento 看不到您的模块,您应该开始调试它。

关于php - Magento 1.7 - 如何扩展核心 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12565937/

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