【问题标题】:How to acces one .phtml file in another .phtml file magento?如何在另一个 .phtml 文件 magento 中访问一个 .phtml 文件?
【发布时间】:2014-04-28 21:54:15
【问题描述】:

在magento开发中如何访问一个或多个“.phtml”文件中的一个“.phtml”文件?

例如:

在我的主题模板文件夹中有一个文件夹信息。它包含 info.phtml。这个 info.phtml 显示来自数据库的数据。我想通过使用 getChildHtml() 在我的其他 .phtml 文件中使用这个 info.phtml 怎么做?

【问题讨论】:

    标签: php magento


    【解决方案1】:

    在您的 phtml 文件中尝试此代码以调用另一个 phtml 文件

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

    【讨论】:

    • 感谢您的回复,实际上我想在我的自定义主题 .phtml 文件中访问基本主题 .phtml 文件。您对此有任何想法吗?
    • 复制基本主题文件夹以粘贴到您当前的主题中,它将正常工作
    • 实际上基本主题与回退逻辑一起使用,因此只需将基本主题文件移动到您当前的主题。
    • 我将基本主题文件移动到我的主题相同的文件结构中,并使用了上面的代码,但它不起作用。我的页面出现以下错误。处理您的请求时出错 Invalid method Mage_Core_Block_Template::displayProductStockStatus(Array ( ) ) Trace:-----here 40 lines of stacktrace
    【解决方案2】:

    要使用 getChildHtml() 来做到这一点,另一个 phtml 文件需要是您正在处理的块内的子块。 那段 xml 来自 app/design/frontend/yourtheme/layout/catalog.xml,在该块声明中,您会看到更多可以通过 getChildHtml() 调用的块。

    <block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml">
      <block type="catalog/product_list_related" name="product.related.products" as="related_products" template="catalog/product/view/related-products.phtml"/>
    </block>
    

    在这种情况下,您可以像 getChildHtml('related_products') 那样在父块 view.phtml 中调用related-products.phtml。

    【讨论】:

    • 在我的主题中,我没有 catalog.xml 文件,我在基本主题布局文件夹中有它。我可以在我的主题布局文件夹中创建 catalog.xml 文件吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-21
    • 2016-09-19
    • 2012-05-30
    • 1970-01-01
    相关资源
    最近更新 更多