-1

我有一个总体布局。( default) 但是对于用户页面,我应该为每个页面添加一个面板。

我试过$this->renderLayout('panel_code', 'default');了,但没有用;并打印默认布局视图view内容!没有panel_code

我的错在哪里?

4

1 回答 1

1

您应该在带有扩展名的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变量。

于 2012-08-24T12:31:33.900 回答