Magento - 添加子块

时间:2013-05-07 07:43:14

标签: php magento layout magento-1.7

Magento - 添加自定义块 我正在尝试使用许多选项插入子块,但无论如何它只显示不可读的符号。它是什么?有人见过类似的东西吗? non-readable symbols

我不明白发生了什么以及发生的原因。

模板文件中的选项1

$this->getLayout()->createBlock('core/template','template_name')->setTemplate('path/to/template.phtml'))->toHtml();

布局中的选项2

<block type="module/block" name="view" template="path/to/template.phtml">
    <block type="module/block_question" name="view_question" as="question" template="path/to/subtemplate.phtml"/>
</block>

在模板path/to/template.phtml

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

3 个答案:

答案 0 :(得分:1)

因此,假设您想在购物车详细信息页面上的总计块之前输出一个块,您可以在扩展程序的layout.xml中执行以下操作

<checkout_cart_index>
    <reference name="checkout.cart">
        <block type="myextension/block" name="myextension.block" as="myextension_block" template="myextension/template.phtml">
            <action method="setChild"><name>totals</name><block>totals</block></action>
        </block>
        <action method="setChild"><name>totals</name><block>myextension.block</block></action>
    </reference>
</checkout_cart_index>

在你的template.phtml文件中你会得到:

<div id="myextension">
    // Your template code
</div>

// Render the totals block that you placed inside your block
<?php echo $this->getChildHtml('totals'); ?>

请告诉我是否可以为您提供更多帮助。

或尝试以下

<?php echo $this->getLayout()->createBlock(‘core/template’)->setTemplate(‘templateFolder/yourtemplate.phtml’)->toHtml(); ?>

或运行代码,如

<?php 
  echo $this->getLayout()->createBlock('core/template')->setTemplate('goodtest/test.phtml')->toHtml();
?>

答案 1 :(得分:0)

我用来创建一个静态块。

然后,将此代码添加到poll.xml:

<block type="cms/block" name="cms_yourblocknamehere">
<action method="setBlockId"><block_id>yourblocknamehere</block_id></action>
</block>

poll.xml目录

/httpdocs/app/design/frontend/base/default/layout

答案 2 :(得分:-1)

我认为模板文件使用不同的ENCoding或文件格式,加载模板的方法是正确的,但问题与文件内容有关。