文件结构概览
特殊文件
这类模板文件,在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中常用的两种资源加载方式
-
$this->options->themeUrl('file.js'),会拼装成 http://site_url/var/usr/your_theme/file.js,即此方式用于拼接资源的url,然后浏览器进行加载。
-
$this->need('script.php'),此方式最终会调用require来加载php文件,因此此方式只适合于加载php脚本或者模板页面片。
发表回复