你常见的Magento配置错误是什么?

时间:2010-03-16 00:45:26

标签: php magento convention-over-configur

如果每个人都讨厌Magento,那么在能够编写代码之前,它会无休止地配置您的模块。我正在尝试为将来即将启动的项目收集常见的Magento配置错误列表。

我正在寻找在类名上使用错误的命名约定,在设置分组类名时忘记<class />包装器的具体示例。像你这样的小事会让你发现几个小时,直到你意识到你的错误。

越多细节越好!

3 个答案:

答案 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