2012-04-12 30 views
1

我为控制器test设置了一些CakePHP模板文件(.ctp)。我有/test/indextest/search页面,分别使用index.ctpsearch.ctpCakePHP:高效加载静态左菜单

有一个左侧大小的垂直菜单部分进入每个页面,但看起来多余且没有必要在每个.ctp文件中包含相同的HTML代码,这些文件将在/test/之下。

此左侧菜单的代码如下所示,我希望每次创建新页面时都不要复制并粘贴它。有没有办法为test控制器的所有.ctp文件加载包含此代码的单独文件?或者我正在接近这种不正当的方式?我现在学习了CakePHP 1.3附带的默认模板文件。

<div class="actions"> 
    <h3><?php __('Menu'); ?></h3> 
    <ul> 
     <li><?php echo $this->Html->link(__('Product Search', true), array('action' => 'search')); ?></li> 
    </ul> 
</div> 

另外,虽然我有这个问题了,什么是类名(“行动”)在div标签的意义是什么?

回答

2

您可以将HTML放入element以轻松重复使用。将您想要重复使用的HTML放在位于:app/views/elements/some_element.ctp的文件中。称它为你想要的。

然后添加到您的视图或布局文件:

echo $this->element('some_element');

actions就是一个类。唯一的意义是你在CSS中给出的意义。

使用默认的Cake CSS和布局,actions是一个浮动左边的div,可以方便地访问由baking生成的链接。

+0

你确定了我的两个问题。非常感谢! – musicliftsme 2012-04-12 21:15:11