簡體   English   中英

Magento在view.phtml中包含一個CUSTOM phtml文件

[英]Magento Including a CUSTOM phtml file in view.phtml

我正在嘗試研究如何創建自定義的phtml文件以包含在view.phtml上(並最終從任何默認的Magento phtml文件中調用)。

我創建了一個單獨的phtml文件,其中包含我想要的內容,名為productbadges.phtml

這將作為最后一項提取

我理解標注通常是

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

但是我知道我需要向catalog.xml添加一些內容,以便Magento識別出標注並可以獲取正確的文件。 但我沒有正確理解Magento的XML語法。

有人可以幫忙嗎?

您可以使用

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

另見:

如何在magento的specfic頁面調用.phtml塊?

想要使用錨標記在另一個phtml文件中調用一個phtml文件

vicch的回應是正確的做法。

但是,知道有另一種方法也很有幫助:

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

我發布這個是為了一般知識。 這不是可接受的方式,因為它與Magento模板和塊的使用方式不一致。

鑒於您提供的信息,我只能提供一般解決方案。

首先,您需要找到此view.phtml的布局XML。 你應該尋找像這樣的東西:

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

要在包裝塊下直接添加新模板的聲明,它應該是:

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

也可以在其他地方引用outter塊:

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

新模板的類型是類名,它應該是core/template或其子類型。

這個問題的答案在代碼下面,只需將“directory / acc_drop.phtml”更改為您的文件路徑名。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM