立即注册 找回密码

QQ登录

只需一步,快速开始

查看: 1311|回复: 0

[Dedecms 安装问题] 织梦cms怎么增加栏目图片

[复制链接]
发表于 2023-5-9 10:06:15 | 显示全部楼层 |阅读模式
道勤网-数据www.daoqin.net

亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-www.daoqin.net

您需要 登录 才可以下载或查看,没有账号?立即注册

x
织梦cms怎么增加栏目图片?
Dedecms.daoqin.net/" target="_blank" class="relatedlink">dedecms(织梦CMS)后台添加栏目图片的代码方法
第一步、首先我们把要添加栏目图片字段我这里取字段名为typeimg,您可以在后台添加代码,执行代码,操作如下:
“系统->SQL命令工具” , 插入sql语句
alter table dede_arctype add typeimg varchar(100)
第二步:进入后台管理文件目录(默认为:dede目录),找到”catelog_add.php“下有几处要修改的。
1.找到$queryTemplate(大概65行左右)
我改的代码如下:
  1. $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,

  2.     tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,html" target="_blank" class="relatedlink">seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`)

  3.     VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype',

  4.     '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','','','~typeimg~')";
复制代码
2.找到 $in_query(227行左右)
修改整个$in_query
  1. $in_query = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,

  2.     tempindex,templist,temparticle,modname,namerule,namerule2,

  3.     ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`content`,`smalltypes`,`typeimg`)

  4.     VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype',

  5.     '$tempindex','$templist','$temparticle','default','$namerule','$namerule2',

  6.     '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes','$typeimg')";
复制代码
其实没什么难的,新手可以复制粘贴,老手可以自行修改,就是在语句中添加一个typeimg字段而已。
第三步:同样的方法,找到”catelog_edit.php“下$upquery(38行左右)
修改代码如下
  1. $upquery = "UPDATE `#@__arctype` SET

  2.      issend='$issend',

  3.      sortrank='$sortrank',

  4.      typename='$typename',

  5.      typedir='$typedir',

  6.      isdefault='$isdefault',

  7.      defaultname='$defaultname',

  8.      issend='$issend',

  9.      ishidden='$ishidden',

  10.      channeltype='$channeltype',

  11.      tempindex='$tempindex',

  12.      templist='$templist',

  13.      temparticle='$temparticle',

  14.      namerule='$namerule',

  15.      namerule2='$namerule2',

  16.      ispart='$ispart',

  17.      corank='$corank',

  18.      description='$description',

  19.      keywords='$keywords',

  20.      seotitle='$seotitle',

  21.      moresite='$moresite',

  22.      `cross`='$cross',

  23.      `content`='$content',

  24.      `crossid`='$crossid',

  25.      `typeimg`='$typeimg',

  26.      `smalltypes`='$smalltypes'     $uptopsql

  27.     WHERE id='$id' ";
复制代码
第四步:进入后台管理文件目录(默认为:dede目录)/templets/ 下的 “catalog_add.htm 和 catalog_edit.htm" 文件,在间加入下面代码:
  1. <script language='javascript' src="js/main.js"></script>
复制代码
catalog_add.htm 中加入如下代码
  1. <!--加入栏目-->

  2. <tr>

  3. <td class="bline" height="26" style="padding-left:10px;">栏目图片:</td>

  4. <td class="bline">

  5. <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" />

  6. <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" />

  7. </td>

  8. <input type="hidden" name="dede_addonfields" value="imgmm,img" />

  9. </tr>
复制代码
catalog_edit.htm中加入如下代码
  1. <!--加入栏目-->

  2. <tr>

  3. <td class="bline" height="26" style="padding-left:10px;">栏目图片:</td>

  4. <td class="bline">

  5. <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="<?php echo $myrow['typeimg']?>" />

  6. <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" />

  7. </td>

  8. <input type="hidden" name="dede_addonfields" value="imgmm,img" />

  9. </tr>
复制代码
注意:这二个文件的代码不一样,要分别加入。
第五步:如果使用通边 channel 标签调用栏目,所以要对/include/taglib/channel.lib.php文件进行更改,找到如下代码进行替换
  1. if($type=='top')

  2. {

  3.     $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg

  4.       From `#@__arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";

  5. }

  6. else if($type=='son')

  7. {

  8.     if($typeid==0) return '';

  9.     $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg

  10.       From `#@__arctype` WHERE reid='$typeid' And ishidden<>1 order by sortrank asc limit 0, $line ";

  11. }

  12. else if($type=='self')

  13. {

  14.     if($reid==0) return '';

  15.     $sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg

  16.         FROM `#@__arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";

  17. }
复制代码
其实就是在sql语句里面添加了typeimg字段。
第六步,就是在前台调用了
  1. {dede:channel type='self' typeid='15' row='8' currentstyle="<li><a href='~typelink~' class='thisclass'>~typename~</a> </li>"}<li><a href='[field:typelink/]'>[field:typename/]</a> <img src='[field:typeimg/]' /></li>{/dede:channel}
复制代码
以上这段代码是网上的,我要的不是这样的效果,我要是获取当前栏目的最顶级的栏目图片
我用二种方法来解决这个问题:
本人测试有效
第一种:
修改文件include/helpers/extend.helper.php
找到gettoptype函数,在里面增加如下代码,目的是获取栏目图片
  1. //增加栏目图片

  2. $toptypeimg=$row['typeimg'];

  3. if($action="images") return $toptypeimg;
复制代码
前台调用方法:
  1. <img src="{dede:field.typeid function=gettoptype(@me,images)/}">
复制代码
这样就可以调用了。完美!!
第二种方法:
修改文件include/common.func.php
在最后增加一个函数就行了,如下:
  1. //获取顶级栏目的栏目图片 李国平更新于2021.3.11

  2. function GetTopTypeimg($id)

  3. {

  4. global $dsql;  

  5. $row = $dsql->GetOne("SELECT typeimg,topid FROM dede_arctype WHERE id= $id");

  6. if ($row['topid'] == '0')

  7. {

  8. return $row['typeimg'];  

  9. }

  10. else

  11. {

  12. $row1 = $dsql->GetOne("SELECT typeimg FROM dede_arctype WHERE id= $row[topid]");

  13. return $row1['typeimg'];

  14. }

  15. }
复制代码
前台调用方法为:
  1. <img src="{dede:field name='typeid' function="GetTopTypeimg(@me)" /}">
复制代码
这样也可以调用了。完美!!

道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题! 如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服! 如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

道勤网- 推荐内容!上一条 /2 下一条

!jz_fbzt! !jz_sgzt! !jz_xgzt! 快速回复 !jz_fhlb! !jz_lxwm! !jz_gfqqq!

关于我们|手机版|小黑屋|地图|【道勤网】-www.daoqin.net 软件视频自学教程|免费教程|自学电脑|3D教程|平面教程|影视动画教程|办公教程|机械设计教程|网站设计教程【道勤网】 ( 皖ICP备15000319号-1 )

GMT+8, 2024-4-25 23:34

Powered by DaoQin! X3.4 © 2016-2063 Dao Qin & 道勤科技

快速回复 返回顶部 返回列表