2010-05-17 81 views
3

在Magento的管理部分,我想重写“销售/订单/ ShipmentController.php”控制器核心法师的文件。重写Magento管理控制器,适用于初学者

我试图重写URL,使用“从” &“到”标签,但不成功。
我不知道这是什么实际&正确的做法,因为我是Magento的新手。

请任何人提供一些好的根本&正确答案,这样至少在概念得到明显。

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

任何帮助,非常感谢。

+0

功能是否有具体的行动或阻止要重写,或者是你改变控制器上的所有操作都以某种基本方式进行? – 2010-05-17 15:20:17

+0

不,我想如果这样用户发现这个帖子有用,那么请给予好评这个问题也与在给予好评有用的答案,以及覆盖只有销售模块的出货控制器的攒动,在管理方面 – 2010-05-18 04:19:44

+0

。 – 2011-01-27 06:09:54

回答

5

不知道你是“从”讲什么和“到”的标签......你需要做的是写一个简单的自定义模块(最好的方式),或者只是把它在覆盖控制器是什么/ app/code/local /目录。

[编辑] - 我写的覆盖重写不同Magento的元素后,控制器包括:http://prattski.com/2010/06/24/magento-overriding-core-files-blocks-models-resources-controllers/

我希望帮助。

+0

这个程序是最简单的,我同意。 但是如果我真的想更改核心控制器的名称空间,模块名称和层次结构呢? 例如,如果我想要这个“/app/code/local/Stack/Overflow/CustomController.php”,而不是核心法师的核心装运控制器文件(如您指出的那样)? 这是我卡住的地方。请帮忙。 – 2010-05-18 15:41:35

+0

如果您按照我提供的链接,那会告诉您如何创建您自己的模块并覆盖控制器。这将允许你保持你的代码在app/code/local/your/code/ 如果你想完全创建你自己的控制器,它是一个类似的过程。只需google一篇关于用控制器创建自己的模块的文章。那里有很多。 – Prattski 2010-05-18 18:36:02

+0

请注意,将核心控制器复制到本地将不起作用。您可以使用此方法覆盖模型和块,但不能使用控制器。您需要按照重写规则关注wiki文章。 – 2010-08-26 07:26:27

7

用于覆盖控制器正确的方法是在这里指定:http://www.magentocommerce.com/boards/viewthread/16224/

从核心到本地复制文件的方法并不好。这样做意味着您只能确保您的自定义模块可以与您使用的Magento版本一起工作。如果你希望你的模块与其他版本兼容的最好机会,它需要松散耦合 - 延伸并覆盖有必要为您的目的