に「myblock.phtml」というファイルを作成しましたfrontend\default\default\layout\mytemplate
。「チェック」ボタンが表示され、カスタムモジュールのコントローラーURLが呼び出されます。問題は、そのボタン(つまり、myblock.htmlテンプレート)の表示を停止したいということです。 )モジュールを有効にしないと意味がないため、そのカスタムモジュールが無効になっている場合は常に、モジュールのconfig.xml内で微調整する方法はありますか?
3 に答える
0
すべてのテンプレートはブロックを通過する必要があり、ブロック内で追加のチェックを行うか、拡張機能が管理ページから無効になっているときにデフォルトのMagento機能でブロック出力を無効にすることができます
于 2011-02-08T13:32:44.600 に答える
0
アントンの答えを拡張するには、次のようなことを行うカスタムブロッククラスを作成します。
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
//これは私のモジュールのブロック「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 に答える