【问题标题】:Magento - Add sub blocksMagento - 添加子块
【发布时间】:2013-05-01 02:19:02
【问题描述】:

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

我不明白会发生什么以及为什么会发生。

模板文件中的选项 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'); ?>

【问题讨论】:

    标签: php magento layout magento-1.7


    【解决方案1】:

    我用来创建一个静态块。

    然后,将此代码添加到 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】:

    假设您想在购物车详细信息页面上的总计块之前输出一个块,您可以在扩展程序的 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();
    ?>
    

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-04-22
        • 1970-01-01
        • 1970-01-01
        • 2023-04-05
        • 1970-01-01
        • 1970-01-01
        • 2018-12-22
        • 2012-10-14
        • 1970-01-01
        相关资源
        最近更新 更多