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》模板中,该模板作者是个十分低调的香菇