最近在魔改typecho, 利用python做后端爬虫,前端typecho, 然后需要判断当前页面的函数。 找到了相关的文章,记录一下。没啥技术含量,就复制黏贴。
▌前言
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 模板结构。
原文出处:《Typecho 判断当前页面》