Magento - 使用getChildHtml添加自己的phtml

时间:2014-06-16 09:37:47

标签: magento

在1column.phtml中,我添加了以下行:

<div id="ja-container" class="ja-lo-1col wrap">

     <?php echo $this->getChildHtml('storeinfo.pthml'); ?>

我将storeinfo.phtml文件添加到了page / html文件夹中。我知道我必须在xml文件中添加一些内容,但我不知道是什么。有人知道我要做什么,让它发挥作用吗?

storeinfo.phtml包含:

<div class="storeinfo">
<p class="StoreName"><?php echo Mage::app()->getStore()->getName(); ?></p>
<br/>
<?php echo Mage::getStoreConfig('design/head/default_description'); ?>
</div>

3 个答案:

答案 0 :(得分:0)

您必须先在布局XML中创建一个条目,如下所示:

<block type="module/file" name="myblock" as="myblock" template="PATH_TO_storeinfo.phtml"/>

然后你可以在你想要包含phtml的phtml文件中使用以下行:

<?php echo $this->getChildHtml('myblock'); ?>

其中myblock是布局XML中定义的块的名称和别名。

答案 1 :(得分:0)

getChildHtml()函数获取父块中的子块。 例如:

<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
      <block type="catalog/product_view_media" name="product.info.media" as="media" template="catalog/product/view/media.phtml"/>
</block>

上面的代码是'catalog / product / view.phtml'的布局,在这里你可以使用

$this->getChildHtml('media')

获取媒体块并将其输出到调用该函数的位置。您需要在父文件中输出的子块应该有一个名为“as”的参数,您可以在getChildHtml()函数中使用该参数。

答案 2 :(得分:0)

您可以将以下代码添加到local.xml或任何模块布局xml

<default>
     <reference name="footer">
         <block type="core/template" name="storeinfo" template="storeinfo.phtml"/>
     </reference>
</default>

请检查您的模板路径。

希望这会对你有所帮助。