2012-01-22 13 views
0

メインレイアウトにサイドバーが定義されており、ほとんどの場合、ログインフォームが表示されます。ユーザーがログインした後、そのフォームを削除してユーザーデータと置き換える必要があります。サブセクションを表示するには、サポートセクションを表示するときにそのサイドバーを変更する必要もあります。CakePHPのビューに基づいてレイアウト要素を読み込む

要素の読み込みを各ビューに移動する必要がありますか、別の方法がありますか? デニス

答えて

1

ボトムラインは、あなたがif($supportpage){} elseif($loggedin){} else{}ブロックを必要とするつもりで事前に

おかげで、。あなたのレイアウトファイルに入れたくない場合は、各オプションの要素を作成することができ、その後set()app_controllerから正しい1:

if ($supportpage) $sidebar = 'support'; 
elseif ($loggedin) $sidebar = 'loggedin'; 
else $sidebar = 'notloggedin'; 

$this->set(compact($sidebar)); 

そして、あなたのレイアウトで$this->element($sidebar)を置きます。

+0

こんにちは。 AppControllerの素晴らしいアイデア。私はcertanly試してみましょう。私はhtmlを可能な限りきれいに保つことが好きです。なぜなら、私は最初に要素を使用することを選択する理由です。 – DenisR

関連する問題