如何使你的typecho更加精彩之一

Publish: July 13, 2009 Category: 性能优化 Author: 混蛋70

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

我在哪?

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

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

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

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

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

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

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

细心的朋友可能已经看出,上面的判断有明显的层次之分,他们从上到下互相包含,这样做有什么作用呢,下一次继续与大家分享typecho强大的模板结构.

38 Comments »

  1. 混蛋70混蛋70
    July 14th, 2009 14:05

    试一下回复

  2. binbin
    July 14th, 2009 14:08

    测试成功,可以回复

  3. tensiontension
    July 14th, 2009 14:12

    些的很好,加油了!

  4. 小鱼的互联网观察小鱼的互联网观察
    July 14th, 2009 14:29

    默认模板我小修改了一下。

    开发团队可以参考一下。

    标题字颜色更醒目。

    首页显示文章摘要。

    http://www.tianmeng.org/

  5. 小鱼的互联网观察小鱼的互联网观察
    July 14th, 2009 20:55

    提醒!

    你丢了if最后的括号!

  6. 混蛋70混蛋70
    July 14th, 2009 22:24

    不需要括号,这是php的模板写法,你可以试试

  7. 5号博主5号博主
    July 15th, 2009 08:40

    请问一下,怎么能安全备份数据

  8. 马东升马东升
    July 15th, 2009 14:57

    功能很好,很无耻

  9. 小鱼的互联网观察小鱼的互联网观察
    July 16th, 2009 00:43

    拷贝sqlite数据库到本地。呵呵。剩下的嘛。如果修改了模板,就将模板页拷贝。或者全拷贝出来算了。

    安装ty我全是sqlite模式。方便。就是不知道sqlite模式性能如何。

    拭目以待。

  10. 小鱼的互联网观察小鱼的互联网观察
    July 16th, 2009 00:50

    windows 下
    Apache 2.2.9、PHP
    5.2.6 使用文中 的标签方式报错。错误大致为。
    Parse error: syntax error, unexpected ':'

  11. 混蛋70混蛋70
    July 16th, 2009 08:16

    e...确实少了括号,我已经加上了

  12. 小鱼的互联网观察小鱼的互联网观察
    July 16th, 2009 13:06

    恩。上上贴你说的我自己都含糊了。之前都是c# ,自己还在琢磨是不是php语法灵活。呵呵。

    如果你是开发人员。顶你们一下。

  13. fenfen
    July 16th, 2009 18:42

    期望下次能来个自动截取摘要的方法。

  14. wolfzonewolfzone
    July 17th, 2009 10:26

    哈哈,期待下次的的文章。

  15. swdingswding
    July 17th, 2009 17:51

    这两天一直发不了评论.. 再来试试..

  16. awenawen
    July 18th, 2009 15:24

    不知道 mysql 和 sqlite 的性能比较怎么样?

  17. 小鱼的互联网观察小鱼的互联网观察
    July 18th, 2009 18:29

    运行起来没问题。因为服务器在美国反应速度还可以。基本上和mysql没太大区别。就是不知道访问量上去了会怎样。不过sqlite的话,数据库就是个文件。非常方便。

    总结:sqlite可以接受

  18. 小鱼的互联网观察小鱼的互联网观察
    July 18th, 2009 18:32

    可以在需要显示摘要的地方用

    上面贴的是代码。不知道能不能显示出来。

    这个调用的就是 文章的摘要,不过这个摘要就是文章内的description 因为你看到 typecho是可以自动截取description的。
    不过不知道后台有没有做缓存,因为我将主页设置的时候感觉好像速度慢了。

  19. 小鱼的互联网观察小鱼的互联网观察
    July 18th, 2009 18:32

    果然代码出不来:我试试这个方法

  20. 小鱼的互联网观察小鱼的互联网观察
    July 18th, 2009 18:33

    还是出不来。没办法了。实际上就是

    $this-> description();

  21. 小鱼的互联网观察小鱼的互联网观察
    July 18th, 2009 18:48

    谁能告诉我 建立页面的时候 那个
    “自定义模板”
    “如果你为此页面选择了一个自定义模板, 系统将按照你选择的模板文件展现它”

    这个功能怎么用?一点资料也找不到。自定义模板建立有什么命名规则?又或者需要在哪里注册一下 这个下拉框才能找得到?

    小鱼在这里谢谢各位!!!

  22. benpybenpy
    July 24th, 2009 00:21

    确实很不错 我要好好的看一下

  23. benpybenpy
    July 24th, 2009 00:23

    这个回复好玩了!

  24. FufuFufu
    July 29th, 2009 11:17

    加油,关注中。

  25. ZuiBaZuiBa
    July 30th, 2009 01:45

    {cid} =日志ID + 附件ID

    建议可否把两ID分离出来?

  26. 小鱼的互联网观察小鱼的互联网观察
    July 30th, 2009 19:53

    为什么评论出不来了。

  27. 北方驾校北方驾校
    July 30th, 2009 19:54

    发一个我做的实验品。

    看的点击我名称。

  28. greengnngreengnn
    August 6th, 2009 00:11

    http://www.greengnn.org
    新模版上线,报个到。

  29. boxbox
    August 15th, 2009 14:05

    环境:
    Apache/1.3.41 (Unix) Sun-ONE-ASP/4.0.2 mod_fastcgi/2.4.6 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.7a

    访问install.php出现:
    Parse error: syntax error, unexpected ';'

  30. HJin.meHJin.me
    August 18th, 2009 03:37

    问一下,else在这段代码怎么写?

  31. 绣财绣财
    September 24th, 2009 14:09

    回复一下

  32. yedoyedo
    October 3rd, 2009 14:29

    测试回复

  33. FufuFufu
    November 4th, 2009 15:03

    Typecho 强大的类,不错。

  34. 羽中羽中
    November 13th, 2009 10:14

    feed页面可以判断吗?

  35. 海贼阿D海贼阿D
    January 29th, 2010 15:47

    不错的功能,用上了

  36. 自由人自由人
    April 29th, 2010 11:35

    我想在index页面判断几篇文章是否是属于某一个分类的,比如判断是不是news分类的,然后对title做样式的处理。。。。这是我写的

  37. 自由人自由人
    April 29th, 2010 11:37

    怎么代码没有了 ???难道被执行了啊。。。

  38. 自由人自由人
    April 29th, 2010 11:46

    也就是说怎么判断一篇文章是属于某一个分类的?

Leave a Comment

captcha
请输入验证码