【发布时间】:2016-01-21 13:50:11
【问题描述】:
我是 Magento 的新手,一直在尝试创建一个模块,以使用 getChildHtml() 显示块内容。 但是,它不起作用。
在 app/design/frontend/muster/default/template/page/html/header/header4.phtml 中,我有以下代码:
<div class="grid_10 v-grid">
<?php echo $this->getChildHtml('userdropdown_menu_dropdown'); ?>
</div>
在 app/design/frontend/muster/default/layout/muster/userdropdown.xml 中,我有以下结构:
<?xml version="1.0"?>
<layout version="0.1.0">
<default>
<reference name="userdropdown.menu">
<block type="bb_userdropdown/userdropdown_menu_dropdown" name="userdropdown_menu_dropdown" as="userdropdown" template="muster/userdropdown/userdropdown/menu/dropdown.phtml"/>
</reference>
</default>
</layout>
在 app/design/frontend/muster/default/template/muster/userdropdown/userdropdown/menu/dropdown.phtml,我有以下代码:
<?php
$test = $this->helloWorld();
echo $test;
?>
在 app/etc/modules 中,我创建了 Muster_UserDropdown.xml,其中包含以下代码:
<?xml version="1.0"?>
<config>
<modules>
<Muster_UserDropdown>
<active>true</active>
<codePool>community</codePool>
<version>0.1.0</version>
</Muster_UserDropdown>
</modules>
</config>
我已创建文件夹 app/code/community/Muster/UserDropdown,其中包含以下子文件夹:
Block
Helper
controllers
etc
sql
以下为空:
Helper
Model
controllers
sql
在 app/code/community/Muster/UserDropdown/Block 中,我有以下文件:
app/code/community/Muster/UserDropdown/Block/Userdropdown/Menu/Dropdown.php
app/code/community/Muster/UserDropdown/Block/Userdropdown/Menu/Dropdown.php中的代码如下:
<?php
class Muster_UserDropdown_Block_Userdropdown_Menu_Dropdown extends Mage_Core_Block_Template
{
/**
* TESTING
*/
public function helloWorld()
{
return 'Hello world!';
}
}
在 app/code/community/Muster/UserDropdown/etc 中,我有以下文件:
app/code/community/Muster/UserDropdown/etc/config.xml
app/code/community/Muster/UserDropdown/etc/config.xml中的代码如下:
<?xml version="1.0"?>
<config>
<modules>
<Muster_UserDropdown>
<version>0.1.0</version>
</Muster_UserDropdown>
</modules>
<frontend>
<routers>
<bbuserdropdown>
<use>standard</use>
<args>
<module>Muster_UserDropdown</module>
<frontName>bbuserdropdown</frontName>
</args>
</bbuserdropdown>
</routers>
<translate>
<modules>
<bb_userdropdown>
<files>
<default>BB_UserDropdown.csv</default>
</files>
</bb_userdropdown>
</modules>
</translate>
<layout>
<updates>
<bb_punchcard>
<file>muster/userdropdown.xml</file>
</bb_punchcard>
</updates>
</layout>
</frontend>
</config>
由于 getChildHtml('userdropdown_menu_dropdown') 没有返回任何内容,出了什么问题?
【问题讨论】: