我想知道如何检查特定的CMS块是否有效.
到目前为止,我发现CMS块是Mage_Cms_Block_Block继承自Mage_Cms_Block_Abstract类的类
法师::日志(get_class(法师::应用程序() - > getLayout() - > createBlock( 'CMS /块') - > setBlockId( 'promo_space')
这两个类都没有方法可以检查块是否有效.我该怎么做?
Fia*_*abs 18
Mage::getModel('cms/block')->load('static_block_identifier')->getIsActive()
将static_block_identifier替换为您分配给CMS静态块的标识符.
自己搞定了
我在Mage/Cms本地模块的帮助器"Block"中创建了一个方法isActive(Identifiere,Value).
这是该方法的外观
public function isActive($attribute, $value){
$col = Mage::getModel('cms/block')->getCollection();
$col->addFieldToFilter($attribute, $value);
$item = $col->getFirstItem();
$id = $item->getData('is_active');
if($id == 1){
return true;
}else{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
参数$ attribute是table(cms-block)字段,例如'identifier'或'title',value可以是静态块或标识符本身的名称.两者都用于过滤您感兴趣的特定静态块
以下是我如何称呼帮助者
if(Mage::helper('cms/block')->isActive('identifier','promo_space')){
//do that
}
Run Code Online (Sandbox Code Playgroud)
我还更新了Cms块的config.xml文件来读取我的新助手和方法.
我希望它有用.
| 归档时间: |
|
| 查看次数: |
15908 次 |
| 最近记录: |