使用 Typecho 的判断当前页面使其更加精彩

随着typecho用户越来越多,大家对个性化的需求也越来越强,其实typecho自身有很多自定义的功能,受于文档缺乏的限制一直不为大家发现,现在我在这里给大家略说一二。

2030842.png

我在哪?

这是一个非常常用的功能,简单来说就是告诉模板现在是哪个页面,这样我们在模板里就可以用简单的判断语句来实现特殊效果。typecho已经内置了强大的is方法来供大家判断当前页面。

比如,我想在进入文章页面时,在右侧边栏中显示一段广告代码,我们就可以这么写

<?php if ($this->is('post')): ?>
我的广告来了
<?php endif; ?>

如果我想在某一则页面,比如说about页面显示时,让它显示一段广告代码,那么可以这么写

<?php if ($this->is('page', 'about')): ?>
我的广告来了
<?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,就可以判断具体是哪个附件
细心的朋友可能已经看出,上面的判断有明显的层次之分,他们从上到下互相包含。

原文出处:http://typecho.org/archives/49/

最后修改:2017 年 08 月 26 日 11 : 03 PM
如果觉得我的文章对你有用,请随意赞赏

6 条评论

  1. 夏日博客

    是个优秀的系统,应该尝试一下。

    1. 明月登楼
      @夏日博客

      嗯,非常值得尝试的!我是一用上就喜欢上了!真的是好喜欢呀!

  2. 博客之家

    不错,还没有用过Typecho呢,看来有空得试试了!

    1. 明月登楼
      @博客之家

      真的可以试试的!

  3. 海员培训

    不错,很看好Typecho的代码简洁性和执行高效率!

    1. 明月登楼
      @海员培训

      是的,运行速度真的超快!

发表评论