0

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

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

有谁知道该声明是什么?

非常感谢

4

2 回答 2

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...');
于 2012-05-23T23:53:52.830 回答
1

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

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

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

这里的主要区别在于:

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

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

于 2012-05-24T19:33:40.527 回答