亲注册登录道勤网-可以查看更多帖子内容哦!(包涵精彩图片、文字详情等)请您及时注册登录-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行左右)
我改的代码如下: - $queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype,
- 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`)
- 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" 文件,在间加入下面代码: - <script language='javascript' src="js/main.js"></script>
复制代码catalog_add.htm 中加入如下代码 - <!--加入栏目-->
- <tr>
- <td class="bline" height="26" style="padding-left:10px;">栏目图片:</td>
- <td class="bline">
- <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" />
- <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" />
- </td>
- <input type="hidden" name="dede_addonfields" value="imgmm,img" />
- </tr>
复制代码catalog_edit.htm中加入如下代码 - <!--加入栏目-->
- <tr>
- <td class="bline" height="26" style="padding-left:10px;">栏目图片:</td>
- <td class="bline">
- <input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="<?php echo $myrow['typeimg']?>" />
- <input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" />
- </td>
- <input type="hidden" name="dede_addonfields" value="imgmm,img" />
- </tr>
复制代码注意:这二个文件的代码不一样,要分别加入。 第五步:如果使用通边 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="<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函数,在里面增加如下代码,目的是获取栏目图片 - //增加栏目图片
- $toptypeimg=$row['typeimg'];
- if($action="images") return $toptypeimg;
复制代码前台调用方法: - <img src="{dede:field.typeid function=gettoptype(@me,images)/}">
复制代码这样就可以调用了。完美!! 第二种方法:
修改文件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'];
- }
- }
复制代码前台调用方法为: - <img src="{dede:field name='typeid' function="GetTopTypeimg(@me)" /}">
复制代码这样也可以调用了。完美!!
道勤主机提供365天*24小时全年全天无休、实时在线、零等待的售后技术支持。竭力为您免费处理您在使用道勤主机过程中所遇到的一切问题!
如果您是道勤主机用户,那么您可以通过QQ【792472177】、售后QQ【59133755】、旺旺【诠释意念】、微信:q792472177免费电话、后台提交工单这些方式联系道勤主机客服!
如果您不是我们的客户也没问题,点击页面最右边的企业QQ在线咨询图标联系我们并购买后,我们为您免费进行无缝搬家服务,让您享受网站零访问延迟的迁移到道勤主机的服务! |