我一直在为Magento创建一个插件,我在layout / name.xml文件中有一个没有xml标签的全局块,如下所示:
<block name="one.two.three" template="project/button.phtml" />
这个想法是能够在任何地方调用getBlockHtml(“one.two.three”)并能够看到beta.phtml。我的工作没有问题。
为了测试我的插件的安装过程,我尝试从头开始安装另一个magento。我将我的插件安装到与第一个相同的目录中,并从我的旧安装中复制/粘贴了getBlockHtml,并且没有出现任何内容(甚至没有模板提示)!添加默认引用没有帮助。
显然没有检测到我的xml文件,尽管adminhtml菜单和mysql安装脚本都有效。知道为什么会这样吗?是的,我已经无数次清除了缓存。
编辑:
两个安装都是版本1.7.0.2
这两个安装都在同一台计算机上,因此它们的文件系统和外壳大概相同。如果同一台计算机上的两台机箱灵敏度不同会不会出现这种情况?
安装插件:我们有一个脚本可以将文件复制到Magento安装中,该安装在第一次安装时一直在使用,这是我第二次使用的内容。要确认,在复制文件时会添加magento数据库中的条目和表。
我的布局存储在一般布局文件夹中:app / design / layout / projectEmbeds.xml。我意识到这不是常见的惯例,但在我开始这个项目之前就是这样,而且它正在工作,所以我没有弄乱它。我认为做出这个决定所以它会出现独立的网站主题。
同样,我的插件存储在app / code / local / - &gt; Project / Embeds,包含块,控制器等,Helper,Model和sql。
有问题的button.phtml位于app / design / frontend / default / default / project
我在上面目录中存储的config.xml文件如下。任何引用Project_Banner的东西都很重要,而Project_Embed几乎完全被弃用了。
<config>
<modules>
<Project_Embeds>
<version>0.1.0</version>
</Project_Embeds>
</modules>
<frontend>
<routers>
<embeds>
<use>standard</use>
<args>
<module>Project_Embeds</module>
<frontName>embeds</frontName>
</args>
</embeds>
</routers>
<layout>
<updates>
<embeds>
<file>projectEmbeds.xml</file>
</embeds>
</updates>
</layout>
</frontend>
<global>
<resources>
<project_embed_setup>
<setup>
<module>Project_Embeds</module>
<class>Project_Embeds_Model_Mysql4_Setup</class>
</setup>
</project_embed_setup>
</resources>
<models>
<embeds>
<class>Project_Embeds_Model</class>
<resourceModel>embeds_mysql4</resourceModel>
</embeds>
<projectbanner>
<class>Project_Banner_Model</class>
<resourceModel>banner_mysql4</resourceModel>
</projectbanner>
<embeds_mysql4>
<class>Project_Embeds_Model_Mysql4</class>
<entities>
<embeds>
<table>project_embed</table>
</embeds>
<banner>
<table>project_banner</table>
</banner>
</entities>
</embeds_mysql4>
</models>
<resources>
<embeds_setup>
<setup>
<embeds>Project_Embeds</embeds>
</setup>
<connection>
<use>core_setup</use>
</connection>
</embeds_setup>
<embeds_write>
<connection>
<use>core_write</use>
</connection>
</embeds_write>
<embeds_read>
<connection>
<use>core_read</use>
</connection>
</embeds_read>
</resources>
<blocks>
<embeds>
<class>Project_Embeds_Block</class>
</embeds>
</blocks>
<helpers>
<embeds>
<class>Project_Embeds_Helper</class>
</embeds>
</helpers>
</global>
<admin>
<routers>
<thisprojectname>
<use>admin</use>
<args>
<module>Project_Embeds</module>
<frontName>project</frontName>
</args>
</thisprojectname>
</routers>
<!-- default admin design package and theme -->
<design>
<package>
<name>base</name>
</package>
<theme>
<default>default</default>
</theme>
</design>
</admin>
<adminhtml>
<menu>
<embeds translate="title" module="embeds">
<title>Project</title>
<sort_order>9999</sort_order>
<children>
<projectbanner module="embeds">
<title>Edit Coupon</title>
<sort_order>1</sort_order>
<action>embeds/adminhtml_banner</action>
</projectbanner>
</children>
</embeds>
</menu>
<layout>
<updates handle="index_settings">
<embeds>
<file>projectEmbeds.xml</file>
</embeds>
</updates>
</layout>
</config>
答案 0 :(得分:1)
尝试在您使用的主题中添加projectEmbeds.xml文件,即默认我猜
所以加入
/app/design/frontend/default/default/layout/
并调用
中的块<default></default>
让我知道它是否有帮助..