基于CakePHP中的视图加载布局元素

时间:2012-01-22 19:36:52

标签: cakephp element

我的主要布局中定义了一个侧边栏,大部分时间都会显示登录表单。用户登录后,我需要删除该表单并将其替换为用户数据。我还需要在查看支持部分时更改该侧边栏以显示子部分。

我是否需要将元素加载移动到每个视图或是否有另一种方式?

提前致谢, 丹尼斯

1 个答案:

答案 0 :(得分:1)

底线是你需要一个if($supportpage){} elseif($loggedin){} else{}块。如果您不想将它放在布局文件中,您可以为每个选项创建一个元素,然后set() app_controller中的正确元素:

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

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

然后将$this->element($sidebar)放入您的布局中。