Typecho根据分类指定文章内容页模板(样式)
admin
撰写于 2023年 05月 10 日

ypecho不同分类不同模板,比如A显示A的栏目页,B显示B的栏目页,这方面网上已经有相关教程了,但是笔者还想实现A和B分别指定不同的文章内容页样式,应该怎么办?

可以通过分类的缩略名,显示指定的文章内容页面。

先做好不同的文章内容页面,比如post-a.php,post-b.php页面,

然后打开文章后,通过获取到当前文章所在分类的缩略名,进行判断,比如某一篇a文章,当前属于分类template,打开文章后,判断文章的当前缩略名是否=template,如果是,那就显示template.php的文章自定义模板,这样就行了。

代码如下
当前为post.php页面

<!--分类名-->
<?php if($this->category == 'template'): ?>

<!--自定义文章页模板位置和名称-->
<?php $this->need('template.php'); ?>

<?php elseif($this->category == 'list'): ?>
<?php $this->need('list.php'); ?>
<?php else: ?>
<!--默认模板-->
<?php $this->need('post.php'); ?>
<?php endif; ?>

当然我是用的自定义字段判断的,因为我只有一个分类的文章没有自定义字段

<?php while($this->next()): ?>
<?php if ($this->fields->dizhi== null) { ?>
<?php $this->need('pages/post1.php'); ?>
<?php } else {?>
<?php $this->need('pages/post.php'); ?>
<?php }?>
<?php endwhile; ?>

我是用的判断dizhi这个字段是否为空判断的
最开始我用的if ($this->fields->dizhi) 或者 if ($this->fields->dizhi())这2个方法 都会有错误
如果字段内有内容就没事 如果是没任何内容就会出错 ,后来想了下 干嘛不判断直接值呢,后来判断直接值就一点问题就没了!

Typecho根据分类指定文章内容页模板(样式)

ypecho不同分类不同模板,比如A显示A的栏目页,B显示B的栏目页,这方面网上已经有相关教程了,但是笔者还想实现A和B分别指定不同的文章内容页样式,应该怎么办?

可以通过分类的缩略名,显示指定的文章内容页面。

先做好不同的文章内容页面,比如post-a.php,post-b.php页面,

然后打开文章后,通过获取到当前文章所在分类的缩略名,进行判断,比如某一篇a文章,当前属于分类template,打开文章后,判断文章的当前缩略名是否=template,如果是,那就显示template.php的文章自定义模板,这样就行了。

代码如下
当前为post.php页面

<!--分类名-->
<?php if($this->category == 'template'): ?>

<!--自定义文章页模板位置和名称-->
<?php $this->need('template.php'); ?>

<?php elseif($this->category == 'list'): ?>
<?php $this->need('list.php'); ?>
<?php else: ?>
<!--默认模板-->
<?php $this->need('post.php'); ?>
<?php endif; ?>

当然我是用的自定义字段判断的,因为我只有一个分类的文章没有自定义字段

<?php while($this->next()): ?>
<?php if ($this->fields->dizhi== null) { ?>
<?php $this->need('pages/post1.php'); ?>
<?php } else {?>
<?php $this->need('pages/post.php'); ?>
<?php }?>
<?php endwhile; ?>

我是用的判断dizhi这个字段是否为空判断的
最开始我用的if ($this->fields->dizhi) 或者 if ($this->fields->dizhi())这2个方法 都会有错误
如果字段内有内容就没事 如果是没任何内容就会出错 ,后来想了下 干嘛不判断直接值呢,后来判断直接值就一点问题就没了!

赞 (0)

猜您想看

评论区(暂无评论)

这里空空如也,快来评论吧~

我要评论