您当前的位置:易学堂 > EM&TP

Typecho 判断当前页面

时间:2019-01-22 19:53:36

前言

typecho自身有很多自定义的功能,受于文档缺乏的限制一直不为大家发现,现在我在这里给大家略说一二,typecho已经内置了强大的is语法来供大家判断当前页面。这是一个非常常用的功能,简单来说就是告诉模板现在是哪个页面,这样我们在模板里就可以用简单的判断语句来实现特殊效果,输出自定义内容 如:广告等。

正文

比如我想只在首页插入之前发布的纯CSS对联,那么就可以这样写:

<?php if($this->is('index')): ?>
//首页输出对联代码
<?php else: ?>
//不是首页输出内容,留空即可。
<?php endif; ?>

例如我想在文章页中插入广告,可以这样写:

<?php if ($this->is('post')): ?>
//文章页广告
<?php endif; ?>

那么,有哪些页面是可以供判断的呢,答案是所有的页面,他们的参数如下:

  • index:第一个参数设为index,可以判断当前页是否为主页
  • archive:第一个参数设为archive,可以判断当前页是否为文章归档页,比主页,分类文章页,标签文章页,日期归档文章页
  • category:第一个参数设为category,可以判断当前页是否为分类文章页,第二个参数传入具体分类slug
  • name,比如default等等,就可以判断具体是哪个分类
  • tag:第一个参数设为tag,可以判断当前页是否为标签文章页,第二个参数传入具体标签slug
  • name,比如typecho等等,就可以判断具体是哪个标签
  • date:第一个参数设为date,可以判断当前页是否为日期归档文章页,第二个参数传入year,month或者day,就可以判断是否为按年,按月还是按日归档
  • single:第一个参数设为single,可以判断当前页是否为内容页,比如文章页,独立页面,附件显示页
  • post:第一个参数设为post,可以判断当前页是否为内容页,第二个参数传入文章id,就可以判断具体是哪篇文章
  • page:第一个参数设为page,可以判断当前页是否为独立页面,第二个参数传入页面slug
  • name比如about,就可以判断具体是哪则独立页面
  • attachment:第一个参数设为attachment,可以判断当前页是否为附件,第二个参数传入附件id,就可以判断具体是哪个附件

PS:上面的判断有明显的层次之分,他们从上到下互相包含,这就是强大的typecho 模板结构。

结语

本文内容很有用,可以实现很多的功能判断,以上is语法来自官方文档,懒孩子,一般不去翻。