我有一个总体布局。( default
) 但是对于用户页面,我应该为每个页面添加一个面板。
我试过$this->renderLayout('panel_code', 'default');
了,但没有用;并打印默认布局视图view
内容!没有panel_code
!
我的错在哪里?
我有一个总体布局。( default
) 但是对于用户页面,我应该为每个页面添加一个面板。
我试过$this->renderLayout('panel_code', 'default');
了,但没有用;并打印默认布局视图view
内容!没有panel_code
!
我的错在哪里?
您应该在带有扩展名的View/Elements
文件夹中创建元素。.ctp
此链接将帮助您将视图文件与相关/重复的代码完全分离。
元素基本上是一个迷你视图,可以包含在其他视图、布局甚至其他元素中。元素可用于使视图更具可读性,将重复元素的渲染放置在其自己的文件中。它们还可以帮助您在应用程序中重用内容片段。
元素位于 /app/View/Elements/ 文件夹中,并具有 .ctp 文件扩展名。它们是使用视图的元素方法输出的:
<?php echo $this->element('helpbox'); //without extension ?>
您可以将变量从视图传递给元素。
在您看来:
<?php echo $this->Element('reviews/view-goal', array('history' => $history));
在 view-goal.ctp 元素中,您可以直接访问$history
变量。