DedeCMS获取栏目图片如果没有栏目图片调用顶级图片

2020-09-15 二次开发 热度 °
如果在使用 DedeCMS 织梦内核建站事通常都会做一些小的二次开发,比如常用的每个栏目都能上传栏目图像,但是有时候一个栏目的顶级和二级栏目都用同一个横幅图片,我们只需要顶级栏目上传一张图片就可以了,没有必要子分类每个栏目上传一遍栏目图像,这样就比较麻烦和不友好!下面教大家一个可以调用顶级栏目图片的方法,那么如何实现织梦获取本栏目图片,当找不到时候当前栏目图像时调用顶级栏目图像呢?确实只需要加个函数就可以了:
/*
  * 获取本栏目图片,只有找不到时候才返回顶级图片
  * $typeid 栏目id
  * $default_pic 找不到时候默认图片
  * [field:id function='get_channel_pic(@me)'/]
  * */
function get_channel_pic($typeid,$default_pic="/images/defaultpic.gif")
{
        global $dsql;
        $row = $dsql->GetOne("SELECT typepic,topid FROM dede_arctype WHERE id= $typeid");
if(empty($row['typepic'])){
        if(0 == $row['topid']){
                return $default_pic;
        }else{
                $row1 = $dsql->GetOne("SELECT typepic FROM dede_arctype WHERE id= $row[topid]");
                return (empty($row1['typepic']))?$default_pic:$row1['typepic'];
        }
}else{
        return $row['typepic'];
}
}
DedeCMS 获取当前栏目图片,如果当前栏目没有栏目图片调用顶级图片,值需要打开织梦 include/extend.func.php 里最底部加入上面这段函数就可以了。