我正在处理一个模块,例如“ Mymodule ”,我需要过滤结果。即对于我创建 Partner.php 的合作伙伴,对于社区我在
中创建了 Community.phpMymodule/Block/Partner.php
Mymodule/Block/Community.php
现在我想通过Mymodule.XML
访问前端的代码<block type="mymodule/partner" ......................... />
但这对LIVE SERVER不起作用,虽然它可以在本地Wamp服务器上运行:( ......任何想法?
虽然当我访问默认的Mymodule.php代码并添加我放在合作伙伴和社区文件中的代码时,它确实有效。
我有什么遗失的吗?
答案 0 :(得分:3)
首先,您必须在模块的config.xml中定义块:
<config>
<global>
<blocks>
<mymodule>
<class>Namespace_Mymodule_Block</class>
</mymodule>
</blocks>
</global>
</config>
其次,您必须在布局XML中使用正确的块类型:
<block type="mymodule/partner" ......................... />
您不能在块类型中写“.php”。请注意,在配置xml和块类型中,术语“ mymodule ”必须相同。
希望这有帮助!
答案 1 :(得分:1)
我并不完全确定你的代码是如何工作的。但假设您之前没有构建过模块,则至少需要3个文件。
app/etc/modules/Sonassi_Module.xml
app/code/community/Sonassi/Module/etc/config.xml
app/code/community/Sonassi/Module/Block/Partner.php
在第一个文件中... app/etc/modules/Sonassi_Module.xml
<?xml version="1.0"?>
<config>
<modules>
<Sonassi_Module>
<active>true</active>
<codePool>community</codePool>
</Sonassi_Module>
</modules>
</config>
在第二个档案中...... app/code/community/Sonassi/Module/etc/config.xml
<?xml version="1.0"?>
<config>
<modules>
<Sonassi_Module>
<version>0.1.0</version>
</Sonassi_Module>
</modules>
<frontend>
<routers>
<module>
<use>standard</use>
<args>
<module>Sonassi_Module</module>
<frontName>module</frontName>
</args>
</module>
</routers>
</frontend>
<global>
<blocks>
<module>
<class>Sonassi_Module_Block</class>
</module>
</blocks>
</global>
</config>
在第三个档案中...... app/code/community/Sonassi/Module/Block/Partner.php
class Sonassi_Module_Block_Partner extends Core_Block_Template
{
}
最后,您可以使用
<block type="module/partner" ......................... />