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

本文阅读 3 分钟
广告

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

教程如下
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);
}

保存之后,点击创建或者新增文章,就会出现如下设置了。
Snap.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; ?>

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

对于缩略图的玩法,typecho用插件来实现有点多次一举,可以参考我之前的这篇文章:typecho调用多张缩略图,非插件实现

本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.ruletree.club/archives/1063/
nginx配置web攻击防御及基础优化策略
« 上一篇 03-01
typecho多用户会员中心功能实现,附项目源码
下一篇 » 03-06
广告

发表评论

V注册会员 L评论等级
R14 条回复
  1. 泽泽Lv.2 说道:
    2020-05-26     Win 10 /    Chrome

    Typecho_Widget_Helper_Form_Element_Radio默认项没有效果,比如你文章中代码默认选择0=>无图,但是发布文章时候他那里并没有选择任何项,你知道咋回事吗头大

    1. 不暇VLv.6 说道:
      2020-05-27     Win 7 /    Chrome

      @泽泽

      这个我也不知道,之前也存在这种疑问,只认为是官网的bug了

      1. 泽泽Lv.2 说道:
        2020-05-27     Win 10 /    Chrome

        @不暇

        我在github提交这个bug了,顺便说了个猥琐的解决方式,有需要的话你可以去看下

        1. 不暇VLv.6 说道:
          2020-05-28     Win 7 /    Chrome

          @泽泽

          那肯定得去看看了

  2. linkerLv.1 说道:
    2019-12-17     Win 7 /    Chrome

    按照你这里的方法添加了自定义字段,实现置顶、推荐等功能的时候,刚发布的时候是好好的,但是只要新增文章之后,原来的置顶和推荐的内容都不见了。
    也就是说,增加了自定义字段,只在发表文章那一会是有效的,新增加文章就失效了。请教一下这要怎么处理?

    1. 不暇VLv.6 说道:
      2019-12-17     Win 7 /    Chrome

      @linker

      这种自定义字段无法做到你的需求,因为typecho的方式里,自定义的字段和文章不在一个数据表,而且也没有相应的处理方法,你倒是可以参考这个来实现https://www.ruletree.club/archives/1310/

      1. linkerLv.1 说道:
        2019-12-24     Win 7 /    Chrome

        @不暇

        使用https://www.ruletree.club/archives/1310/ 这个方法来实现也会出现同样的问题。应该是$this影响的,只有当前页有这篇文章的时候才会展示,如果当前页面没有这篇文章,就不会显示。
        用自定义字段的方式,前端调用我用了
        用在文章表新增加字段的方式,前端调用我用了
        有什么办法可以调用一定数量的标记了置顶/推荐的文章数量?小白一个,谢谢!!

        1. 不暇VLv.6 说道:
          2019-12-25     Win 7 /    Chrome

          @linker

          你或许可以试试标签调用法,给文章设置一个置顶的标签,让根据这个标签指定数量,这个的话网上就有很多参考了

      2. linkerLv.1 说道:
        2019-12-24     Win 7 /    Chrome

        @不暇

        非常感谢!

  3. 小白Lv.1 说道:
    2019-04-08     Win 7 /    Chrome

    想请教下,幻灯片是怎么实现的,谢谢

    1. 不暇VLv.6 说道:
      2019-04-08     Android /    Chrome

      @小白

      准备好幻灯片的区块,代码,根据标签在里面循环调用文章。

  4. 锅大侠Lv.1 说道:
    2019-03-16     Win 10 /    QQ浏览器

    不会用,怎么调用三张图片? icon_eek.gif

  5. 演员Lv.1 说道:
    2019-03-06     Win 7 /    Chrome

    很好看的博客

    1. 不暇VLv.6 说道:
      2019-03-06     Win 7 /    Chrome

      @演员

      多谢!

没有更多评论了

作者信息

热门文章

标签TAG

热评文章