Typecho主题制作文件结构

文件结构概览

特殊文件

这类模板文件,在typecho系统中定义,特定路由会尝试加载对应的模板文件,譬如index路由会去加载index.phppost路由会去尝试加载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脚本或者模板页面片。