CakePHP:有效地加载静态左菜单


CakePHP: efficiently loading a static left menu

我正在为控制器test设置一些CakePHP模板文件(.ctp)。我有/test/indextest/search页面,分别使用index.ctpsearch.ctp

每个页面都有一个左侧大小的垂直菜单部分,但是在每个.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标签中的类名("动作")的意义是什么?

您可以将 HTML 放在元素中以便轻松重用。将要重用的 HTML 放在位于以下位置的文件中:app/views/elements/some_element.ctp 。随心所欲地称呼它。

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

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

actions只是一个类。唯一的意义是你在 css 中给出它的内容。

使用默认的 Cake CSS 和布局,actions 是一个向左浮动的div,可以轻松访问baking生成的链接。