当前位置: 网站首页 > CMS应用 >  typecho > 文章 当前位置: CMS应用 >  typecho > 文章

typecho添加文章类型字段,并调用不同样式

时间:2025-05-19 22:15:26    次    来源:网络    点击: - 小 + 大

应该最近访问规则之树的都可以看出来,首页的列表我又更新了一下,原本只有两种类型,三图和正常图文章列表,但是现在大图也出来了。最开始我是通过对文章分类的判断,对指定的几个分类单独设置样式,问题比较麻烦,那就是我在模板里的控制总是识别不出来,就算使用stristr包含方法也会有问题。于是后面,我终于发现了typecho的自定义字段功能,可以在模板的function.php文件中定义,就可以每次发布文章的时候,都出现一个可以供用户选择的字段,总之很方便。

教程如下
1.修改模板的控制文件新增字段
一般情况下,function.php文件夹内会有一段注释的代码,官方自带的,那其实就是官方提供的一个自定义字段的范例,它可以完全参考模板的设置表单的字段添加来写。

function themeFields($layout) {
    $Pictype= new Typecho_Widget_Helper_Form_Element_Radio('Pictype',array('0' => _t('无'),'1' => _t('大图'),'2' => _t('多图')),'0',_t('文章类型'),_t("选择文章类型,模板设置在数据列表显示不同的样式,比如大图和三图并列的文章列表"));
    $layout->addItem($Pictype);
}

保存之后,点击创建或者新增文章,就会出现如下设置了。
e35f2ac343429d9777f5e709427e6d37.jpg

2.完成上述操作后,可以为文章设置类型。

比如我对不同的文章设置大图与多图,那么他就会出现一个Pictype的可以调用的字段,所以前台的列表里可以这样写。

<?php while($this->next()): ?>
<?php if ($this->fields->Pictype == 1) { ?>
    类型为大图的文章调用的相关代码,设置单独的class和结构
<?php } elseif ($this->fields->Pictype == 2) { ?>
    类型为多图的文章调用的相关代码,设置单独的class和结构,在我的博客里,这里显示三张图片
<?php } else {?>
    一般文章列表的相关代码,显示普通的样式
<?php }?>
<?php endwhile; ?>

可以看看我博客的实际效果。


查看解压密码

上一篇:typecho调用多张缩略图,非插件实现这就是博客文章列表页显示三张缩略图的实现方式,本博客的模板也是将大多数功能都通过function.php中定义来实现,没

TAG:
Copyright © 2025 蚂蚁分享网 版权所有,授权www.antqq.com使用 浙ICP备18035339号-15