在magento的现有模块中添加块

在magento的现有模块中添加块,magento,Magento,我定制了客户模块以满足我的需求。我能够重写客户模块的块类。我正试图在这个模块中添加一个现有客户模块中不存在的自定义块类,但我不知道如何实现这一点 我的代码与config.xml中的代码类似 <blocks> <customer> <rewrite> <widget_name>Mynamespace_Customer_Block_Wid

我定制了客户模块以满足我的需求。我能够重写客户模块的块类。我正试图在这个模块中添加一个现有客户模块中不存在的自定义块类,但我不知道如何实现这一点

我的代码与config.xml中的代码类似

 <blocks>            
        <customer>
           <rewrite>                          
<widget_name>Mynamespace_Customer_Block_Widget_Name</widget_name>                   
<form_register>Mynamespace_Customer_Block_Form_Register</form_register>
<form_edit>Mynamespace_Customer_Block_Form_Edit</form_edit>
           </rewrite>                   
        </customer>  

     </blocks>

Mynamespace\u客户\u块\u小部件\u名称
Mynamespace\u客户\u块\u表单\u注册表
Mynamespace\u Customer\u Block\u Form\u Edit
我在customer模块的Form目录下创建了一个名为“Test.php”的新块类

客户布局文件如下所示

<reference name="my.account.wrapper">
            <block type="customer/form_test" name="customer_test" template="customer/form/test.phtml"/>
        </reference>   

但它没有执行块类文件。 此模块的config.xml文件中是否应添加任何内容

请说明如何将此模块与现有模块集成


谢谢。

您可能已经意识到了这一点,但请考虑查看布局认为它在使用什么

尽管我确信您的example config.xml只是一个示例,但请确保您记得为
form\u test
创建一个重写,并且您自己的模块有一个有效的blocks部分


顺便说一句,LayoutViewer真的需要为Magento Connect正确打包。链接文件缺少启用模块所需的配置,如果可以从PEAR访问该文件,则会更加有用。

您可能已经意识到这一点,但请考虑检查以查看布局认为它在使用什么

尽管我确信您的example config.xml只是一个示例,但请确保您记得为
form\u test
创建一个重写,并且您自己的模块有一个有效的blocks部分


顺便说一句,LayoutViewer真的需要为Magento Connect正确打包。链接文件缺少启用模块所需的配置,如果可以从PEAR访问该文件,它将非常有用。

您不应该向客户模块添加块,而应该将它们添加到您自己的模块中。如果您想继续使用客户模块,请检查以确保您的块命名为
Mage\u customer\u block\u Form\u Test
,并扩展
Mage\u Core\u block\u模板。否则,将类创建为
Mynamespace\u Customer\u Block\u Form\u Test
,并将其保存在模块目录中。然后,在
config.xml
中为类添加块定义:

<blocks>
  <mynamespace_customer>
    <class>Mynamespace_Customer_Block</class>
  </mynamespace_customer> 
</blocks>

Mynamespace\u客户块
然后您应该能够将块作为
mynamespace\u customer/form\u test
加载

如果使用非客户的模块名,则调试问题可能会更容易。一般来说,这是一个坏主意,可能会导致系统出现错误

希望有帮助

谢谢,
Joe

您不应该真的将块添加到客户模块中,您应该将它们添加到您自己的模块中。如果您想继续使用客户模块,请检查以确保您的块命名为
Mage\u customer\u block\u Form\u Test
,并扩展
Mage\u Core\u block\u模板。否则,将类创建为
Mynamespace\u Customer\u Block\u Form\u Test
,并将其保存在模块目录中。然后,在
config.xml
中为类添加块定义:

<blocks>
  <mynamespace_customer>
    <class>Mynamespace_Customer_Block</class>
  </mynamespace_customer> 
</blocks>

Mynamespace\u客户块
然后您应该能够将块作为
mynamespace\u customer/form\u test
加载

如果使用非客户的模块名,则调试问题可能会更容易。一般来说,这是一个坏主意,可能会导致系统出现错误

希望有帮助

谢谢,
Joe

非常感谢Joe,它起作用了我在开始重写标记上方添加了Mynamespace\u Customer\u块,它起作用了。谢谢。非常感谢joe,它起作用了。我在开始重写标记上方添加了Mynamespace_Customer_块,它起作用了。谢谢