Typecho模板文档大全之index编写教程

最后更新于2019年02月02日; 如遇到问题,请留言及时通知站长; 欢迎加入 三生三世,讨论各种问题!

说明

本教程属于系列教程,用于讲解Typecho主题编写的相关教程。本篇教程用于讲解index.php文件的编写具体内容。全部文档教程来源于泽泽,官网是https://qqdie.com/。目前,我还没写过主题。不过魔改了大概四份主题,所以对这些也算懂一点吧。

index.php

属于Typecho主题的首页模板,个别主题分类模板也在这里调用。

模板信息

我们先从主文件说起,打开这个文件,首先看到的是注释:

/**
 * 这是typecho系统的一套默认皮肤。你可以在<a href="http://typecho.org">typecho的官方网站</a>获得更多关于此皮肤的信息
 * 
 * @package Typecho Default Theme 
 * @author typecho
 * @version 1.0.0
 * @link http://typecho.org
 */

这是模板信息存放的地方,它将在后台都模板选择页显示。前两行是简短的介绍,每个“*”表示一个段落。

  • @package 表示模板名
  • @author表示作者名
  • @version是模板的版本号
  • @link是作者的网站连接

紧挨着注释下方的$this->need('header.php'),在结尾处也会看到$this->need('sidebar.php')$this->need('footer.php')。这些语句用来调用模板的其它模块。header故名思议是页首,sidebar是侧栏,footer是页脚。(与phpinclude功能差不多,needtypecho程序内置的方法,内部还会存在一些判断什么的,建议在做主题是使用need方法而不是include)

显示文章列表

<?php if ($this->have()): ?>
<?php while($this->next()): ?>
<a href="<?php $this->permalink() ?>"><?php $this->title() ?></a>
作者:<a href="<?php $this->author->permalink(); ?>"><?php $this->author(); ?></a>
时间: <?php $this->date(); ?>
分类: <?php $this->category(','); ?>
<a href="<?php $this->permalink() ?>#comments"><?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>
标签:<?php $this->tags(','); ?>
<?php $this->content('- 阅读剩余部分 -'); ?>
<?php endwhile; ?>
<?php else: ?>暂无文章<?php endif; ?>

进入文章循环,输出文章,一句一句介绍

代码解释
<?php if ($this->have()): ?>判断是否有文章,没有的话输出提示
<?php while($this->next()): ?>开始循环输出文章,与<?php endwhile; ?>对应
<?php $this->permalink() ?>文章所在的连接
<?php $this->title() ?>文章标题
<?php $this->author(); ?>文章作者
<?php $this->author->permalink(); ?>文章作者地址
<?php $this->date(); ?>文章的发布日期,日期格式可在typecho后台设置->阅读中设置
<?php $this->category(','); ?>文章所在分类
<?php $this->tags(','); ?>文章标签
<?php $this->commentsNum('评论', '1 条评论', '%d 条评论'); ?>文章评论数及连接
<?php $this->content('- 阅读剩余部分 -'); ?>文章内容,其中的“- 阅读剩余部分 -”是显示摘要时隐藏部分的邀请链接,也可使用<?php $this->excerpt(140, '...'); ?>来进行自动截取文字内容,“140”是截取字符数量

文章分页

<?php $this->pageNav('«前一页', '后一页»'); ?>

也可以这样分开写

<?php $this->pageLink('下一页','next'); ?>
<?php $this->pageLink('上一页'); ?>

其他说明

archive.php代码同index.php,区别就是index.php是显示首页的,而archive.php是显示某分类下的文章列表、搜索结果的。如果模板文件中不存在archive.php,程序就会自动用index.php代替archive.php

本文来源:https://qqdie.com/,取自QQ群。

一个只会魔改主题,而不会制作主题的站长。希望每一位来到这里的访客,都能拿到你们需要的资源!

发表评论

已有 2 条评论

  1. BigCoke BigCoke说道:

    抢到了,是沙发

    1. 枂下 枂下说道:

      沙发给你留着呢

返回主页看更多
赏杯咖啡给站长 支付宝 扫一扫