### [织梦cms怎么增加栏目图片](https://www.prosaas.cn/article/297) **Published:** 2023-03-14T02:42:30 **Author:** 5201314 **Excerpt:** 织梦cms增加栏目图片的方法:1、把要添加栏目图片字段取名为“typeimg”,执行代码为“alter tab… > 织梦cms增加栏目图片的方法:1、把要添加栏目图片字段取名为“typeimg”,执行代码为“alter table dede\_arctype add typeimg varchar(100)”;2、修改“catelog\_add.php”和“catelog\_edit.php”文件内容;3、使用channel标签调用栏目,然后获取当前栏目的最顶级的栏目图片即可。 ![](//zhiqipro.oss-cn-beijing.aliyuncs.com/2023/12/20231212114626613.jpg) 本教程操作环境:Windows10系统、DedeCMS 5.7版、Dell G3电脑。 **织梦cms怎么增加栏目图片?** dedecms(织梦CMS)后台添加栏目图片的代码方法 > 网上的方法虽然对,但有一些细节没处理好,很多新手都会遇到问题。接下来我来总结一下吧。 第一步、首先我们把要添加栏目图片字段我这里取字段名为typeimg,您可以在后台添加代码,执行代码,操作如下: “系统->SQL命令工具” , 插入sql语句 alter table dede\_arctype add typeimg varchar(100) 第二步:进入后台管理文件目录(默认为:dede目录),找到”catelog\_add.php“下有几处要修改的。 1.找到$queryTemplate(大概65行左右) 我改的代码如下: $queryTemplate = "INSERT INTO \`#@\_\_arctype\`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,     tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,\`cross\`,\`crossid\`,\`content\`,\`smalltypes\`,\`typeimg\`)     VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype',     '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','','~typeimg~')"; 2.找到 $in\_query(227行左右) 修改整个$in\_query $in\_query = "INSERT INTO \`#@\_\_arctype\`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,     tempindex,templist,temparticle,modname,namerule,namerule2,     ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,\`cross\`,\`crossid\`,\`content\`,\`smalltypes\`,\`typeimg\`)     VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype',     '$tempindex','$templist','$temparticle','default','$namerule','$namerule2',     '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$typeimg')"; 其实没什么难的,新手可以复制粘贴,老手可以自行修改,就是在语句中添加一个typeimg字段而已。 第三步:同样的方法,找到”catelog\_edit.php“下$upquery(38行左右) 修改代码如下 $upquery = "UPDATE \`#@\_\_arctype\` SET      issend='$issend',      sortrank='$sortrank',      typename='$typename',      typedir='$typedir',      isdefault='$isdefault',      defaultname='$defaultname',      issend='$issend',      ishidden='$ishidden',      channeltype='$channeltype',      tempindex='$tempindex',      templist='$templist',      temparticle='$temparticle',      namerule='$namerule',      namerule2='$namerule2',      ispart='$ispart',      corank='$corank',      description='$description',      keywords='$keywords',      seotitle='$seotitle',      moresite='$moresite',      \`cross\`='$cross',      \`content\`='$content',      \`crossid\`='$crossid',  \`typeimg\`='$typeimg',      \`smalltypes\`='$smalltypes'     $uptopsql     WHERE id='$id' "; 第四步:进入后台管理文件目录(默认为:dede目录)/templets/ 下的 “catalog\_add.htm 和 catalog\_edit.htm" 文件,在间加入下面代码: 4df64949a418eaaac6f0491cdce4fee62cacc6d41bbb37262a98f745aa00fbf0 catalog\_add.htm 中加入如下代码 栏目图片: catalog\_edit.htm中加入如下代码 栏目图片: 注意:这二个文件的代码不一样,要分别加入。 第五步:如果使用通边 channel 标签调用栏目,所以要对/include/taglib/channel.lib.php文件进行更改,找到如下代码进行替换 if($type=='top') { $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg From \`#@\_\_arctype\` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line "; } else if($type=='son') { if($typeid==0) return ''; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg From \`#@\_\_arctype\` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line "; } else if($type=='self') { if($reid==0) return ''; $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg FROM \`#@\_\_arctype\` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line "; } 其实就是在sql语句里面添加了typeimg字段。 第六步,就是在前台调用了 {dede:channel type='self' typeid='15' row='8' currentstyle="
  • ~typename~
  • "}
  • \[field:typename/\]
  • {/dede:channel} 以上这段代码是网上的,我要的不是这样的效果,我要是获取当前栏目的最顶级的栏目图片 我用二种方法来解决这个问题: 本人测试有效 第一种: 修改文件include/helpers/extend.helper.php 找到gettoptype函数,在里面增加如下代码,目的是获取栏目图片 //增加栏目图片 $toptypeimg=$row\['typeimg'\]; if($action="images") return $toptypeimg; 前台调用方法: 这样就可以调用了。完美!! 第二种方法: 修改文件include/common.func.php 在最后增加一个函数就行了,如下: //获取顶级栏目的栏目图片 李国平更新于2021.3.11 function GetTopTypeimg($id) { global $dsql; $row = $dsql->GetOne("SELECT typeimg,topid FROM dede\_arctype WHERE id= $id"); if ($row\['topid'\] == '0') { return $row\['typeimg'\]; } else { $row1 = $dsql->GetOne("SELECT typeimg FROM dede\_arctype WHERE id= $row\[topid\]"); return $row1\['typeimg'\]; } } 前台调用方法为: 这样也可以调用了。完美!! 推荐学习:dedecms教程 以上就是织梦cms怎么增加栏目图片的详细内容,更多请关注知企PROSAAS其它相关文章! **Categories:** DEDECMS ---