Typecho创建自定义模板

in Typecho with 0 commentand 3335 read

自定义首页模板

在当前模板目录下面建你需要的文件(例如:home.php),然后再文件的开头加上如下代码(需在 package 后面加上 index)就算是自定义了好了一个首页:

<?php
/**
* 自定义首页模板
*
* @package index
*/

然后进入后台的『设置』-『文章』页面,选择“站点首页”中的“直接调用[home.php]模板文件”,保存即可。

自定义页面(page)模板

只需要在当前模板目录下面建你需要的文件,然后再文件的开头加上如下代码(需在 package 后面加上 custom)就算是自定义了好了一个页面,可以自定义多个页面:

<?php
/**
* 自定义页面模板
*
* @package custom
*/

其中 @package custom 是必须的,然后进入后台在『创建页面』的【展开高级选项】里就可以看到

自定义分类模板

方法一
直接在当前模板目录下建立一个名为 category 的目录,然后在里面放上以你需要单独做模板分类的缩略名为文件名的 php 文件,比如 default.php,这样,在访问缩略名为default的分类时,它会自动调用这个模板。

方法二
在模板文件中使用 is 语法判断页面

<?php if ($this->is('category', 'default')): ?>
//默认分类模板
<?php endif; ?>
<?php if ($this->is('category', 'category2')): ?>
//分类2模板
<?php endif; ?>

而在文章或其他页面判断分类显示不同样式的话,请参考 不同分类不同效果

自定义页面列表显示条数

模板目录下建立一个名为 functions.php 的文件 然后里面写一个函数(示例是控制 jobs 分类下的文章列表显示条数为 10 条)

function themeInit($archive) {
if ($archive->is('category', 'jobs')) {
$archive->parameter->pageSize = 10; // 自定义条数
}
}
评论