织梦cms如何增加栏目图片

79次阅读
没有评论

共计 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 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-12发表,共计4380字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)