次のようなレイアウトにビュー ヘルパーがあります。
$this->viewSearchForm();
それは問題ありません。すべてのページで表示されますが、そのビュー ヘルパーを表示したくない 2 つまたはツリーのページがある場合はどうなりますか? これは可能ですか?
アクションのようなもの:
$this->view->disable('viewSearchForm');
次のようなレイアウトにビュー ヘルパーがあります。
$this->viewSearchForm();
それは問題ありません。すべてのページで表示されますが、そのビュー ヘルパーを表示したくない 2 つまたはツリーのページがある場合はどうなりますか? これは可能ですか?
アクションのようなもの:
$this->view->disable('viewSearchForm');
コントローラーからビューにフラグを渡すことができます (init メソッドまたは特定のアクション)。
あなたのレイアウトでは、次のようなものを持つことができます
if (!isset($this->disableSearchForm)) {
echo $this->view->viewSearchForm();
}
コントローラーから以下を送信します
$this->view->disableSearchForm = true;
ビューヘルパーを「無効」にすることはできないと思います。使用しているヘルパーが特定のフォルダーにある場合、回避策は、を使用してそのフォルダーをヘルパーパスから削除することsetHelperPath()
ですが、デフォルトのビューヘルパーパスが上書きされることはありません。詳細については、Zend_View_Helperのドキュメントを参照してください。
お役に立てば幸いです。