Typecho主题制作文件结构

文件结构概览

特殊文件

这类模板文件,在typecho系统中定义,特定路由会尝试加载对应的模板文件,譬如index路由会去加载index.php,post路由会去尝试加载post.php。详细列表如下:

文件名 描述 是否必须 备注
screenshot.png 主题缩略图 如果没有,则无法进行主题预览
index.php 首页以及说明文件
404.php 404页面文件 如果没有提供,则会尝试加载Archive.php页面
archive.php 通用(分类、搜索、标签、作者)页面文件 如果没有提供,则会加载index.php页面
category.php 分类页面文件 如果没有提供,则会加载archive.php页面
search.php 搜索页面文件 如果没有提供,则会加载archive.php页面
tag.php 标签页面文件 如果没有提供,则会加载archive.php页面
author.php 作者页面文件 如果没有提供,则会加载archive.php页面
functions.php 主题函数文件 此php会在加载模板php前执行,可自定义行为,详细见表格后备注
page.php 独立页面文件 如果没有提供,则会加载archive.php页面
post.php 日志页面文件 如果没有提供,则会加载archive.php页面

functions.php:中可以改变typecho的一些行为,也可以自定义自己的常用函数,在模板文件被加载之前执行。具体参见这里

普通文件

此类文件在typecho的模板系统中没有特殊意义,一般是在上述特殊文件中通过$this->need('/path/to/file.php')的方式来加载。

譬如在index.php中

<?php /**File: index.php*/
    $this->need('inc/header.php');//注意,header.php还可以放在自定义目录下
    ?>
    //other html code...

话句话说,以下文件的文件名不是固定的,你可以根据你的需要指定文件名,但一般情况下(或者说按习惯切分页面片),或有如下的文件:

文件名 描述 是否必须 备注
style.css 主题样式文件 同理,如果有js或者image文件,也可以通过类似的方式指定
comments.php 评论页面文件
footer.php 底部页面文件
header.php 头部页面文件
sidebar.php 侧边栏页面文件
其他 其他你需要的文件

同Style.css,如果你还有自己的image或者js文件,也可以通过$this->themeUrl('file.js')的方式加载。

补充说明

补充typecho中常用的两种资源加载方式

  1. $this->options->themeUrl('file.js'),会拼装成 http://site_url/var/usr/your_theme/file.js,即此方式用于拼接资源的url,然后浏览器进行加载。
  2. $this->need('script.php'),此方式最终会调用require来加载php文件,因此此方式只适合于加载php脚本或者模板页面片。

版权声明:未经书面授权禁止转载、摘编、复制或建立镜像。对既成事实本站将保留所有的权利。