网站首页 » 代码技巧 » 通过自定义模板、IS语法判断实现typecho不同分类不同模板的办法

通过自定义模板、IS语法判断实现typecho不同分类不同模板的办法

April 15, 2020 代码技巧

我们在使用typecho博客的时候,如果想要实现分类列表页面统一调用该模板文件,可以通过category.php来实现,但是如果想要实现不同分类调用不同模板,怎么操作呢?下面,我们提供两类四种实现的办法。

第一种,自定义分类模板法

首先在当前模板目录下建立一个名为 category 的文件夹,然后将default.php、technology.php等不同分类的模板文件以分类缩略名命名(缩略名请在后台——管理——分类中查看),把不同分类的模板文件放进该文件夹,这样,在访问分类页面时,会自动调用分类对应缩略名的分类模板。

第二种:缩略名为default的分类调用default.php模板文件,其余分类调用other.php模板文件

<?php 
    if($this->is('category','default')){
        $this->need('default.php');
    }else{
        $this->need('other.php');
    }
?>

第三种:缩略名为default的分类调用default.php模板文件,缩略图为technology的调用technology.php模板文件,如此类推,其余的调用other.php模板文件

<?php 
    if($this->is('category','default')){
        $this->need('default.php');
    }elseif($this->is('category','technology')){
        $this->need('technology.php');
    }else{
        $this->need('other.php');
    }
?>

第四种:缩略图为default、technology的调用default.php文件,其余的调用other.php模板文件

<?php 
$slugArray = array('default','technology');
foreach($slugArray as $slug){
    if($this->is('category',$slug)){
        $this->need('default.php');
    }else{
        $this->need('other.php');
    }
}
?>

第二到第四种是属于在模板文件中使用 IS 语法判断页面法,以上四种方法经过亲测,都可完美实现typecho不同分类调用不同模板,希望对大家有所帮助。

添加新评论