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中常用的两种资源加载方式
- $this->options->themeUrl('file.js'),会拼装成 http://site_url/var/usr/your_theme/file.js,即此方式用于拼接资源的url,然后浏览器进行加载。
- $this->need('script.php'),此方式最终会调用require来加载php文件,因此此方式只适合于加载php脚本或者模板页面片。
版权声明:未经书面授权禁止转载、摘编、复制或建立镜像。对既成事实本站将保留所有的权利。
评论已关闭