我创建了一个名为“myblock.phtml”的文件。它只frontend\default\default\layout\mytemplate
显示一个“检查”按钮,该按钮依次调用自定义模块的控制器 url。问题是,我想停止显示该按钮(即 myblock.html 模板) 每当该自定义模块被禁用时,因为如果不启用该模块就没有意义。有什么方法可以在模块的 config.xml 中进行调整?
问问题
828 次
3 回答
0
//这是我模块块“Checkbox.php”中的代码。可能对其他人有用..
<?php
class Mypackage_Myextension_Block_Checkbox extends Mage_Core_Block_Template {
//echos a text based on module state
protected function checkstate() {
$modules = Mage::getConfig()->getNode('modules')->children();
$modulesArray = (array)$modules;
//my module name
if($modulesArray['Mypackage_Myextension']->is('active')) {
echo "Mypackage_Myextension is active.";
}
else {
echo "Mypackage_Myextension is not active.";
}
}
}
?>
因此,当我禁用模块(系统->高级->禁用模块)时,不会显示块内容。
于 2011-02-08T20:21:35.727 回答
0
要扩展 Anton 的答案,请创建一个执行以下操作的自定义块类:
class Mypackage_Myextension_Block_Checkbox extends Mage_Core_Block_Template {
protected function _toHtml() {
if(!$this->checkIfModuleIsEnabled()) {
return "";
}
return parent::_toHtml();
}
}
希望有帮助!
谢谢,乔
于 2011-02-08T14:11:13.020 回答
0
所有模板都应该通过一个块,并且当您的扩展从管理页面被禁用时,您可以进行额外的检查或让默认的 magento 功能禁用块输出
于 2011-02-08T13:32:44.600 回答