【问题标题】:Magento Including a CUSTOM phtml file in view.phtmlMagento 在 vi​​ew.phtml 中包含一个 CUSTOM phtml 文件
【发布时间】:2012-01-18 11:57:04
【问题描述】:

我正在尝试研究如何创建自定义 phtml 文件以包含在 view.phtml 中(并最终从任何默认的 Magento phtml 文件中调用)。

我创建了一个单独的 phtml 文件,其中包含我想要的内容,名为 productbadges.phtml

这将作为最后一项被拉出

我知道标注通常是

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

但是我知道我需要向 catalog.xml 添加一些内容,以便 Magento 识别标注并获取正确的文件。但我没有正确理解 Magento 的 XML 语法。

有人可以帮忙吗?

【问题讨论】:

    标签: magento php


    【解决方案1】:

    vicch的回应是正确的做法。

    不过,知道还有一种替代方法也很有帮助:

    $block = $this->getLayout()->createBlock(
          'Mage_Core_Block_Template',
          'choose_a_block_name',
           array('template' => 'folder/myphtmlfile.phtml')
     );
    

    我发布这个是为了获得一般知识。这不是公认的这样做的方式,因为它与 Magento 模板和块的使用方式不一致。

    【讨论】:

      【解决方案2】:

      你可以使用

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

      参见此处:

      How do i call .phtml block at specfic page in magento?

      want to call one phtml file in another phtml file using anchor tag

      【讨论】:

        【解决方案3】:

        鉴于你提供的信息,我只能给出一个通用的解决方案。

        首先,您需要找到该 view.phtml 的布局 XML。你应该寻找类似的东西:

        <block type="..." name="..." ... template="../view.phtml">
        

        要在包装块下直接添加新模板的声明,应该是:

        <block type="..." name="..." ... template="../view.phtml">    
            <block type="..." name="phtmlfilename" template="../phtmlfilename.phtml"/>
            ...
        </block>
        

        也可以在其他地方引用外部块:

        <reference name="[name_of_view.phtml_block]">
            <block type="..." name="phtmlfilename" template="../phtmlfilename.phtml"/>
        </reference>
        

        新模板的类型为类名,应为core/template或其子类型。

        【讨论】:

          【解决方案4】:

          这个问题的答案如下代码,只需将“directory/acc_drop.phtml”更改为您的文件路径名即可。

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-04-28
            • 2014-08-10
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多