【发布时间】:2012-05-30 12:17:33
【问题描述】:
我遇到了一种在 phtml 文件中访问 BLOCK 类(从模块)的方法。 我基本上可以使用 '$var = Mage::blahblah....' 并访问模块中的任何块文件。
我没有保存这个stmt,现在我需要再次使用它,但找不到我需要的信息。
有人知道那句话是什么吗?
非常感谢
【问题讨论】:
标签: templates magento methods block php
我遇到了一种在 phtml 文件中访问 BLOCK 类(从模块)的方法。 我基本上可以使用 '$var = Mage::blahblah....' 并访问模块中的任何块文件。
我没有保存这个stmt,现在我需要再次使用它,但找不到我需要的信息。
有人知道那句话是什么吗?
非常感谢
【问题讨论】:
标签: templates magento methods block php
为了进一步回应 Ben,我使用了:
$cmsBlock = Mage::getModel('cms/block')->load($blockId)->getContent();
if($cmsBlock) {
...do stuff...
}
检查特定静态块是否存在时。然后可以正常回显以显示内容。
这里的主要区别在于:
Mage::app()->getLayout()->createBlock('cms/block')->setBlockId($blockId)->toHtml();
创建一个新块,但如果 $blockId 无效,它可能为空。第一个方法调用该特定的静态块。这里可能还有另一种方式,但这对我有用。
【讨论】:
块类实例可以像这样在任何地方实例化:
Mage::app()->getLayout()->createBlock('core/template')->...;
//or $this->getLayout()->createBlock('core/template')->...;
//or $this->getLayout()->getBlock('block_name_loaded_in_controller_or_layout_or...');
【讨论】: