我遇到了一种访问BLOCK类(来自模块)...在phtml文件中的方法。 我基本上可以使用'$ var = Mage :: blahblah ....'并访问模块中的任何Block文件。
我没有保存此stmt,现在我需要再次使用它,并且无法找到我需要的信息。
有谁知道该声明会是什么?
非常感谢答案 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无效,则可能为空。第一种方法调用特定的静态块。这里可能有另一种方式,但这对我有用。