Php 重写Magento管理控制器,适用于初学者

Php 重写Magento管理控制器,适用于初学者,php,magento,admin,Php,Magento,Admin,在Magento管理部分,我想覆盖核心Mage的“Sales/Order/ShipmentController.php”控制器文件 我尝试过使用“from”&“to”标记重写URL,但没有成功。 我不知道真正正确的做法是什么,因为我是Magento的新手 请任何人提供一些好的基本和正确的答案,以便至少让概念变得清晰 另外,如果可能的话,请告诉我,控制器的实际用途是什么,包括前端和后端 非常感谢您提供的任何帮助。不确定使用“from”和“to”标签您在谈论什么。。。您需要做的是编写一个简单的自定义

在Magento管理部分,我想覆盖核心Mage的“Sales/Order/ShipmentController.php”控制器文件

我尝试过使用“from”&“to”标记重写URL,但没有成功。
我不知道真正正确的做法是什么,因为我是Magento的新手

请任何人提供一些好的基本和正确的答案,以便至少让概念变得清晰

另外,如果可能的话,请告诉我,控制器的实际用途是什么,包括前端和后端


非常感谢您提供的任何帮助。

不确定使用“from”和“to”标签您在谈论什么。。。您需要做的是编写一个简单的自定义模块(最好的方法),或者通过将控制器放入/app/code/local/目录来覆盖它

[编辑]-我写了一篇文章,内容涉及覆盖不同的Magento元素,包括:


我希望这会有所帮助。

这里指定了覆盖控制器的正确方法:


将文件从核心复制到本地的方法不好。这样做意味着您只能确保您的自定义模块将使用您正在使用的Magento版本。如果您希望最大限度地使模块与其他版本兼容,则需要松耦合-扩展和覆盖用于您的目的所需的功能

是否有要覆盖的特定操作或块,或者您是否以某种基本方式更改控制器上的所有操作?否,我只想在管理区域覆盖销售模块发货控制器的保存操作。如果用户认为此帖子有用,请对此问题进行投票,并对有用的答案进行投票。我同意,此过程是最简单的。但是,如果我真的想更改名称空间、模块名称和核心控制器的层次结构,该怎么办?例如,如果我想要这个“/app/code/local/Stack/Overflow/CustomController.php”,而不是core Mage的核心装运控制器文件(如您所指出的),该怎么办?这就是我被困的地方。请帮助。如果您遵循我提供的链接,这将告诉您如何创建自己的模块并覆盖控制器。这将允许您将代码保存在app/code/local/your/code/中。如果您想完全创建自己的控制器,这是一个类似的过程。只需谷歌搜索一篇关于使用控制器创建您自己的模块的文章。还有很多。请注意,将核心控制器复制到本地将不起作用。可以使用此方法替代模型和块,但不能替代控制器。您需要遵循wiki帖子中的重写规则。只需添加一点,即也可以通过将助手复制到本地代码池来覆盖它们。但是,对于模型/块/助手来说,这也不是最好的解决方案。这些类应该扩展而不是复制到本地。