我知道如何覆盖Mage类(其中的任何类app/code/core)我的问题是如何覆盖Varien类?(课程内lib/Varien)
如果我要重写Mage_Adminhtml_Block_Page_Menu
我创建一个类MyCompany_Adminhtml_Block_Page_Menu下app/code/local/MyCompany/Adminhtml/Block/Page/Menu.php
我把它命名为:
class MyCompany_Adminhtml_Block_Page_Menu extends Mage_Adminhtml_Block_Page_Menu
Run Code Online (Sandbox Code Playgroud)
现在Magento使用我的班级MyCompany_Adminhtml_Block_Page_Menu代替Mage_Adminhtml_Block_Page_Menu
我的问题是:我应该在哪里放置新类,以及如何命名,以覆盖,例如 Varien_Date(lib/Varien/Date.php)
谢谢
ben*_*rks 10
如果必须,请将文件和路径复制到本地代码池并进行必要的更改.没有配置映射来更改类名.
说明:请参阅app/Mage.php中的bootstrapping .按以下顺序为代码池和库设置加载顺序:
典型地,Varien_Autoload负责映射类名如Varien_Data_Collection_Db,Mage_Core_Model_Abstract或Zend_Db_Select相对于文件名(瓦瑞恩/数据/收集/ db.php中,法师/核心/型号/ Abstract.php,和的Zend/DB/Select.php分别地).然后传递这些文件位置include(),在内部使用引导程序中设置的加载顺序.因此,如果文件Varien/Data/Collection/Db.php存在于"之前"位置之一下,则将使用该版本的类定义.
这些类型的修改可能是合理的,但它们应该得到充分考虑和记录,因为整个定义将由您拥有,并且任何升级都需要在将来合并.知道你想改变什么会很好,因为其他人可能会有一个稍微有点侵入性的选择.