Magento - 从模板phtml文件访问php块类

时间:2012-05-23 22:10:00

标签: templates magento methods block php

我遇到了一种访问BLOCK类(来自模块)...在phtml文件中的方法。 我基本上可以使用'$ var = Mage :: blahblah ....'并访问模块中的任何Block文件。

我没有保存此stmt,现在我需要再次使用它,并且无法找到我需要的信息。

有谁知道该声明会是什么?

非常感谢

2 个答案:

答案 0 :(得分:1)

可以在任何地方实例化块类实例:

Mage::app()->getLayout()->createBlock('core/template')->...;
//or $this->getLayout()->createBlock('core/template')->...;
//or $this->getLayout()->getBlock('block_name_loaded_in_controller_or_layout_or...');

答案 1 :(得分:1)

为了进一步了解Ben的回应,我用过:

$cmsBlock = Mage::getModel('cms/block')->load($blockId)->getContent();
if($cmsBlock) {
    ...do stuff...
}

进行检查以查看是否存在特定的静态块。然后可以正常回显以显示内容。

这里的主要区别在于:

Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($blockId)->toHtml();

创建一个新块,但如果$ blockId无效,则可能为空。第一种方法调用特定的静态块。这里可能有另一种方式,但这对我有用。