我在frontend\default\default\layout\mytemplate
创建了一个名为“myblock.phtml”的文件。它只显示一个“检查”按钮,该按钮又调用自定义模块的控制器URL。问题是,我想停止显示该按钮(即; myblock.html模板)
每当自定义模块被禁用,因为它没有启用模块没有意义。任何方式在模块的config.xml中调整??
答案 0 :(得分:0)
所有模板都应该通过一个块,在块中你可以进行额外的检查,或者当从管理页面禁用你的扩展时,让默认的magento功能禁用块输出
答案 1 :(得分:0)
要扩展Anton的答案,请创建一个类似这样的自定义块类:
class Mypackage_Myextension_Block_Checkbox extends Mage_Core_Block_Template {
protected function _toHtml() {
if(!$this->checkIfModuleIsEnabled()) {
return "";
}
return parent::_toHtml();
}
}
希望有所帮助!
谢谢, 乔
答案 2 :(得分: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.";
}
}
}
?>
因此,当我禁用模块(系统 - >高级 - >禁用模块)时,不会显示块内容。