【问题标题】:how to call getChildHtml from my module in magento如何从我的 magento 模块中调用 getChildHtml
【发布时间】:2012-07-18 12:13:14
【问题描述】:

我已经创建了一个模块和块

<block type="mymodule/mymodule" name="my_block" template="mymodule/mymodule.phtml"/>.

在默认主题下的catalog.xml中。

我通过默认主题的目录/产品/view.phtml 中的 getChildHtml('my_block') 方法调用此块,它显示 mymodule.phtml 文件中的文本,但我不想从视图上方的 view.phtml 调用该块.phtml,有没有办法从mymodule的任何地方调用上面的块来显示来自mymodule.phtml的文本。

【问题讨论】:

  • 在可能位于 catalog.xml 的布局 xml 文件中查找 my_block 并尝试将其添加到您的模板中。那是你想在你的模块的模板中调用它吗?或者你想在课堂上调用它?
  • 这取决于你想在哪里展示它。由于性能,我不认为 list.phtml 有一些块挂钩。所以你应该改变主题文件。您可以创建自己的主题或将其添加到app/design/frontend/default/default/catalog/product/
  • 可怕的分号和 Serjio 谢谢你的回复。实际上我已经在 catalog.xml 中创建了 my_block,它使用了我的模块 phtml 模板文件,并且当我从 list.phtml 页面调用 getChildhtml("my_block") 时,该模板文件显示在产品类别页面中及其工作。但是从我的模块文件中调用该块的其他方法是什么。
  • 您想在自己的模块中调用 my_block 吗? where.通过 php 代码或 xml

标签: magento


【解决方案1】:

对方法 getChildHtml() 的调用会加载带有传递给该方法的名称的子块的 HTML。

将您的块放入布局文件中的参考区域之一,如左、右和内容,并使用指定的名称调用它。

试试,

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

【讨论】:

    【解决方案2】:

    如果你想在不使用 getChildHtml() 的情况下调用你的块,你需要将你的块放入一个内容块中,如左、右、内容等,它将自动呈现。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      • 2011-08-20
      • 2015-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多