在CakePHP v3.3中寻求有关渲染布局的一些指导

时间:2017-01-26 17:54:04

标签: html twitter-bootstrap cakephp

我从互联网上下载了一个Bootstrap HTML模板。现在我打算将它转换为CakePHP(版本3.3)模板。我已经复制并粘贴了webroot/文件夹中的所有相关资产文件。我也有创建了3个文件,即head.ctp,header.ctp& footer.ctp inside src/Template/Element.

现在这个html模板有像家一样的菜单,关于我们,服务,联系我们等。我的问题是我应该创建像home.ctp,about_us.ctp,services.ctp& amp; contact {us .ctp在src/Template/Element/Layout里面?如果是,那么我如何使用这些布局?我想使用一个路由器,它将指向适当的布局。

请告知代码。我问这些基本问题,因为我对cakephp很新。

1 个答案:

答案 0 :(得分:0)

You do not need to create separate layouts for menus. In cakephp, layout is just like a template that you can use for your website and Elements are reusable blocks of code that you can use on you ctp file.

Just create a single file in layout folder for e.g home.ctp and add head, header and footer element in that.


    <?= $this->element('head'); ?>
    <?= $this->element('header); ?>
    <?= $this->fetch('content'); ?>
    <?= $this->element('footer); ?>

Add your title and meta tags in head element. Your menu in header element and your footer in footer element.

Then to set this layout you can simply use following in your initialize function of controller.

    $this->viewBuilder()->layout('home')