2012-07-19 67 views
5

调用直到最底层的我已经创建了一个模块并阻止如何从我的模块在Magento

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

在catalog.xml中下默认主题。

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

+0

寻找在可能在catalog.xml中的布局xml文件my_block并尝试在同一添加到您的模板。你想在模块的模板中调用它吗?或者你想在你的班级里打电话给你? – 2012-07-19 12:24:20

+0

它取决于您想要显示的位置。我不认为该list.phtml由于性能有一些块挂钩。所以你应该改变主题文件。您可以创建自己的主题或将其添加到'app/design/frontend/default/default/catalog/product /' – Serjio 2012-07-20 08:20:02

+0

Dreaded分号和Serjio感谢您的回复。实际上,我在catalog.xml中创建了my_block,它使用我的模块phtml模板文件,并且当我从list.phtml页面调用getChildhtml(“my_block”)时,该模板文件显示在产品类别页面及其工作中。但是,从我的模块文件中调用该块的其他方法是什么? – 2012-07-20 09:40:17

回答

0

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

0

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

将块放入参考区域之一(如左,右和内容)中的布局文件,并使用分配的名称调用该块。

尝试,

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