共计 4380 个字符,预计需要花费 11 分钟才能阅读完成。
这篇文章主要介绍了织梦 cms 如何增加栏目图片的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇织梦 cms 如何增加栏目图片文章都会有所收获,下面我们一起来看看吧。
织梦 cms 增加栏目图片的方法:1、把要添加栏目图片字段取名为“typeimg”,执行代码为“alter table dede_arctype add typeimg varchar(100)”;2、修改“catelog_add.php”和“catelog_edit.php”文件内容;3、使用 channel 标签调用栏目,然后获取当前栏目的最顶级的栏目图片即可。
第一步、首先我们把要添加栏目图片字段我这里取字段名为 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 文件,在间加入下面代码:
script language= javascript src= js/main.js /script
catalog_add.htm 中加入如下代码
!-- 加入栏目 --
tr
td > td > input type= text name= typeimg id= imgmm > input name= imgmm_bt type= button > /td
input type= hidden name= dede_addonfields value= imgmm,img /
/tr
catalog_edit.htm 中加入如下代码
!-- 加入栏目 --
tr
td > td > input type= text name= typeimg id= imgmm > input name= imgmm_bt type= button > /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 current >
以上这段代码是网上的,我要的不是这样的效果,我要是获取当前栏目的最顶级的栏目图片
我用二种方法来解决这个问题:
本人测试有效
第一种:
修改文件 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) /}
关于“织梦 cms 如何增加栏目图片”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“织梦 cms 如何增加栏目图片”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道。