【问题标题】:CakePHP: efficiently loading a static left menuCakePHP:有效加载静态左侧菜单
【发布时间】:2012-04-13 04:14:00
【问题描述】:

我正在为控制器 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 标签中的类名(“actions”)有什么意义?

【问题讨论】:

    标签: php html cakephp


    【解决方案1】:

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

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

    echo $this-&gt;element('some_element');

    actions 只是一个类。唯一重要的是您在 css 中赋予它的内容。

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

    【讨论】:

    • 你解决了我的两个问题。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2014-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多