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


Magento - Accessing php block class from template phtml file

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

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

有谁知道这句话会是什么?

非常感谢

类实例可以在任何地方实例化,如下所示:

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

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

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

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

这里的主要区别在于:

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

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