TP5模块包含和继承

1.模板包含

将公共部分提出来, 例如放在 view/common/nav.hml 中, 再需要的时候,通过下面的方式引用.

{include file="common/nav" /}

2.模板继承

先定义一个主模板, 例如放在, view/common/base.html 中,在其中 放入坑"block", 例如 title

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>
        {block name="title"}
            模板学习index页
        {/block}
    </title>
    <link rel="stylesheet" href="__CSS__/style.css">
</head>
<body>
<div class="wrap">

    <!--头部-->
    <div class="header">
        {include file="common/nav" /}
    </div>

    <!--中部-->
    <div class="main">
        <!--边栏-->
        <div class="sidebar">
            sidebar
        </div>
        <!--内容-->
        <div class="body">
            body
        </div>
    </div>

    <!--尾部-->
    <div class="footer">
        footer
    </div>

</div>
</body>
</html>

3.其他模块需要调用的时候, 通过以下方式调用

{extend name="common/base" /}

{block name="title"}
模板学习 page1 页
{/block}

先继承主页面, 然后 通过block, 来修改内容.

4. 开启layout, 在 conf下面新增 最后2行. 开启layout

'template'         => [
        // 模板引擎类型 支持 php think 支持扩展
        'type'         => 'Think',
        // 视图基础目录,配置目录为所有模块的视图起始目录
        'view_base'    => '',
        // 当前模板的视图目录 留空为自动获取
        'view_path'    => '',
        // 模板后缀
        'view_suffix'  => 'html',
        // 模板文件名分隔符
        'view_depr'    => DS,
        // 模板引擎普通标签开始标记
        'tpl_begin'    => '{',
        // 模板引擎普通标签结束标记
        'tpl_end'      => '}',
        // 标签库标签开始标记
        'taglib_begin' => '{',
        // 标签库标签结束标记
        'taglib_end'   => '}',
        'layout_on'    => true,
        'layout_name'  => 'layout'
    ],

5. 此时, 我们控制器中的 fetch方法机制就会改变, 它第一时间找的是 view/layout.html 文件, 所以, 我们在view下新建一个layout.html. 然后挖一个坑, {__CONTENT__}, 这以后, 我们view下的文件, 则都是替换这个坑, 例如 view/index/index.html 则是先找到 view/layout.html 然后把这里的内容, 替换 {__CONTENT__}. 

发布了88 篇原创文章 · 获赞 6 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/codipy/article/details/92760629