如果每个人都讨厌Magento,那么在能够编写代码之前,它会无休止地配置您的模块。我正在尝试为将来即将启动的项目收集常见的Magento配置错误列表。
我正在寻找在类名上使用错误的命名约定,在设置分组类名时忘记<class />
包装器的具体示例。像你这样的小事会让你发现几个小时,直到你意识到你的错误。
越多细节越好!
答案 0 :(得分:7)
在/app/etc/module/your_Module.xml camelcase codePool 否则将失败
<?xml version="1.0"?>
<config>
<modules>
<Your_Module>
<!-- <codepool>local</codepool> this will fail silently-->
<codePool>local</codePool>
<active>true</active>
</Omx_Hooks>
</modules>
</config>
答案 1 :(得分:2)
使用moduleCreator有助于避免很多配置错误,但一个大问题(具有讽刺意味的是与Elzo的答案相比)是在模块名称中使用camelCase。在Windows系统上进行开发时,它可以正常工作,但在* nix上无声地失败。
Module_UsingCamelCaseFails
,而
Module_Uselowercasetosucceed
我还没有尝试在* nix上创建一个驼峰案例模块,因为我看到模块的命名约定有效,但肯定在Windows-&gt; Linux方向会造成麻烦。
在adminhtml中创建顶级菜单时,我也很难获得ACL。如果您的菜单条目是<cms>
或<catalog>
的子项,则ACL可以正常工作,但不能作为第一类节点。
我第一次开始Magento开发时花了一段时间的另一个经典,就是忘记了只要将控制器放在app/code/local/Mage
中就无法覆盖控制器。
我希望看到一个有效地与ConfigViewer相反的工具,即在您指定的事件,对象和其他值的上下文中验证config.xml并且应该存在的工具。其余的安装。基本的XSL解析将是第一次传递,然后尝试实例化任何引用的对象。不确定如何验证观察到的事件,但也许可以使用该事件名称的核心代码。想法?
答案 2 :(得分:0)
重写块,模型或帮助程序时,请确保路径指向现有块,并且路径中没有拼写错误。
例如,我花了很多时间弄清楚为什么以下重写不起作用:
<blocks>
<adminhtml>
<rewrite> <sales_order_views_tabs>Path_to_My_class</sales_order_views_tabs>
</rewrite>
</adminhtml>
</blocks>
正如你所看到的,我有“观点”,它需要“观察”。因此,我没有尝试重写的块,因此没有错误也没有重写。
艾伦,一旦我得到Configlint的工作,我想自己写这个案子。我遇到安装问题。我在'gitHub'发布的问题。我想自己做,因为我想参与这个项目感谢, Margots