公共模板和模板布局

原创 2016年08月30日 09:08:44

公共模板
引用其他的模板文件使用include标签

<include file='模版表达式或者模版文件1,模版表达式或者模版文件2,...' />

使用规则

模块@主题/控制器/操作
<include  file='Public/header'/>
    hello,{$name}!
<include  file='Public/footer'/>

可引入多个文件

<include  file='Public/header,Public/menu'/>

直接使用模板文件 包含完整路径:

<include file="./Application/Home/View/default/Public/header.html" />

模板传参

<include  file='Public/header,Public/menu' title='ThinkPHP TITLE' keywords="开源WEB开发框架"/>

模板中使用参数

<html>
<head>
<title>[title]</title>
<meta name="keywords" content="[keywords]" />
</head>
<body>
<h1>Header</h1>

模板布局
ThinkPHP配置文件中

'TMPL_LAYOUT_ITEM'      =>  '{__CONTENT__}', // 布局模板的内容替换标识
    'LAYOUT_ON'             =>  true, // 是否启用布局
    'LAYOUT_NAME'           =>  'layout', // 当前布局名称 默认为layout

开启以后并在View目录下创建layout.html

<include  file='Public:header,Public:menu' title='ThinkPHP TITLE' keywords="开源WEB开发框架"/>
   {__CONTENT__}
<include  file='Public:footer'/>

读取模板文件后,会解析index.html模板文件,并把解析后的内容替换到layout布局中的{CONTENT}
指定其他布局模板

'LAYOUT_NAME'=>'Layout/layoutname',

特定页面不需要布局模板功能,可以在模板文件开头加上{NOLAYOUT}字符串

{__NOLAYOUT__}
hello,{$name}!

模板标签方式
不需要配置任何参数,也不需要开启LAYOUT_ON,直接在模板文件中指定布局模板即可。

关闭配置文件中:LAYOUT_ON=false
<layout name='layout'/>
hello,{$name}!

使用layout控制模板布局
动态开启模板

namespace Home\Controller;
use Think\Controller;
Class UserController extends Controller {
    Public function add() {
        layout(true);
        $this->display('add');
    }
 }

指定不同的模板文件

<?php
namespace Home\Controller;
use Think\Controller;
Class UserController extends Controller {
    Public function add() {
        layout('Layout/newlayout');
        $this->display('add');
    }
 }

动态关闭模板

<?php
namespace Home\Controller;
use Think\Controller;
Class UserController extends Controller {
    Public function add() {
        layout(false); // 临时关闭当前模板的布局功能
        $this->display('add');
    }
 }
版权声明:本文为博主原创文章,未经博主允许不得转载。

ThinkPHP快速入门5_循环和控制输出,公共模板和模板布局

循环输出
  • killerbill1997
  • killerbill1997
  • 2015年11月10日 09:28
  • 3393

rails模板布局学习笔记

一、如何渲染 1、如有以下控制器 Java代码   BooksController      def show          @book = Book.find(params...
  • dazhi_100
  • dazhi_100
  • 2013年11月30日 13:20
  • 1072

web开发----jsp中通用模版的引用 include的用法

web开发中常常会有一些代码需要多个页面使用,比如 banner   nav导航  还有 footer等. ASP.NET开发中 有母版页的说法,也就是写一些通用的模版页,然后其他页面可以引...
  • q383965374
  • q383965374
  • 2014年12月28日 21:39
  • 4756

[模板]LCA最小公共祖先(DFS+RMQ)

#include #include #include #include #include #include #include #include #include #define IN...
  • zlqdhrdhrdhr
  • zlqdhrdhrdhr
  • 2016年08月12日 18:55
  • 135

后缀数组(模板题) - 求最长公共子串 - poj 2774 Long Long Message

Language: Default Long Long Message Time Limit: 4000MS   Memory Limit: 131072K T...
  • u013371163
  • u013371163
  • 2017年03月05日 17:12
  • 171

hdu 4691 lcp最长公共前缀 后缀数组经典模板

每行无论公共前缀是多少,都要一个空格和换行,+2 注意公共前缀的长度 #include #include #include using namespace std; #define N 10...
  • Jackyguo1992
  • Jackyguo1992
  • 2013年08月21日 16:45
  • 2211

洛谷P3379 【模板】最近公共祖先(LCA)

最近公共祖先(LCA)题目描述如题,给定一棵有根多叉树,请求出指定两个点直接最近的公共祖先。 输入输出格式 输入格式:第一行包含三个正整数N、M、S,分别表示树的结点个数、询问的个数和树根结点的序...
  • zhanghaoxian1
  • zhanghaoxian1
  • 2017年07月09日 07:26
  • 167

ASP.NET MVC公共模板、节、分部视图等

一、公共模板  1、@RenderBody()  在网站公用部分通过一个占位符@RenderBody()来为网站独立部分预留一个位置。然后私有页面顶部通过@{Layout="公用模板路径"}来引入公用...
  • sven_xu
  • sven_xu
  • 2015年06月02日 09:23
  • 1772

POJ 1330 Nearest Common Ancestors 最近公共祖先模板/在线/离线

题意:求树上两个节点的最近公共祖先 算法一:tarjan LCA(u) {   Make-Set(u)   ancestor[Find-Set(u)]=u  //设置u所在集合...
  • Tsaid
  • Tsaid
  • 2013年05月28日 21:53
  • 1422

【LCA倍增模板】【poj1330】最近公共祖先

Nearest Common Ancestors Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 31027...
  • Dadatu_Zhao
  • Dadatu_Zhao
  • 2017年11月01日 23:27
  • 88
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:公共模板和模板布局
举报原因:
原因补充:

(最多只允许输入30个字)