QQ爹博客 QQ爹博客

Typecho输出文章附件内所有图片的函数

in Typecho 文章转载请注明来源!

typecho如果想做一个相册主题,或者相册分类的话,下面的代码很实用哦!

函数
functions.php中放入如下函数

//获取附件图片
function getAttachImg($cid) {
    $db = Typecho_Db::get();
    $rs = $db->fetchAll($db->select('table.contents.text')
            ->from('table.contents')
            ->where('table.contents.parent=?', $cid)
            ->order('table.contents.cid', Typecho_Db::SORT_ASC));
    $attachPath = array();
    foreach($rs as $attach) {
        $attach = unserialize($attach['text']);
        if($attach['mime'] == 'image/jpeg') {
            $attachPath[] = array($attach['name'], $attach['path']);
        }
    }
    return $attachPath;
}

然后在post.php中放入如下代码,即可输出当前文章附件中所有图片

<?php
$imgs = getAttachImg($this->cid);
foreach($imgs as $img) {
echo "<img src=\"$img[1]\" title=\"$img[0]\" class=\"post-item-img\">";
}
?>

香菇提示
函数文件中默认中只做了 image/jpeg mime类型的图片判断,可根据需要补充 image/png image/gif 等格式
将函数中的if判断

if($attach['mime'] == 'image/jpeg')

改为

if($attach['mime'] == 'image/jpeg'||$attach['mime'] == 'image/png'||$attach['mime'] == 'image/gif')

用处
配合一些前端框架什么的,即可做成一个typecho的相册模板,或者相册分类。

这里推荐一款可能十分优秀的typecho相册模板→《Photograph Theme for Typecho》

声明:本篇文章中的代码均来自《Photograph Theme for Typecho》模板中,该模板作者是个十分低调的香菇

jrotty WeChat Pay

微信打赏

jrotty Alipay

支付宝打赏

文章二维码

扫描二维码,在手机上阅读!

本文基于《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权
文章链接:https://qqdie.com/archives/typecho-xianggu-photograph.html (转载时请注明本文出处及文章链接)

typecho模板图片函数皮肤相册
发表新评论
已有 12 条评论
  1. Rinvay
    Rinvay
    回复

    大佬,请教个问题pjax下如何刷新指定的DIV区域?

    1. Jrotty
      Jrotty本文作者
      回复

      @Rinvay pjax啊,推荐你看这人的文章https://kotori.love/archives/typecho-pjax.html

  2. 夏目贵志
    夏目贵志
    回复

    我王境泽就算是饿死也不会买这模板的~  
    这模板真不错,真香~

    1. Jrotty
      Jrotty本文作者
      回复

      @夏目贵志 然而是免费的炒(mu)饭(ban)

        1. Jrotty
          Jrotty本文作者
          回复

          @夏目贵志 我说的是这篇文章里提到的模板,你我仿佛不在一个频道上

          1. 夏目贵志
            夏目贵志
            回复

            @Jrotty ... 看错了  哈哈哈  刚下班太累了 

  3. 香菇
    香菇
    回复

    实际上 getAttachImg() 中只做了 image/jpeg mime类型的图片判断,可根据需要补充 image/png image/gif 等格式。

    1. Jrotty
      Jrotty本文作者
      回复

      @香菇 补充上去啦,还有就是你的模板默认用了微博图床的链接,这样没用图床的人来启动你的模板,图片就显示gg了

      1. 香菇
        香菇
        回复

        @Jrotty 哈哈哈哈哈哈哈是吗不重要啦哈哈哈哈哈哈哈我jio得这种操作很皮很开心

        1. Jrotty
          Jrotty本文作者
          回复

          @香菇 本来我以为直接复制代码就ok了,等我复制完点击发布文章后,才发现:哎哎!函数里怎么有个香菇的地址啊???于是又重新编辑了下下

          1. 香菇
            香菇
            回复

            @Jrotty 慧(shang)眼(ye)如(hu)炬(chui)

前篇 后篇