織夢cms怎么增加欄目圖片

織夢cms增加欄目圖片的方法:1、把要添加欄目圖片字段取名為“typeimg”,執行代碼為“alter table dede_arctype add typeimg varchar(100)”;2、修改“catelog_add.php”和“catelog_edit.php”文件內容;3、使用channel標簽調用欄目,然后獲取當前欄目的最頂級的欄目圖片即可。

織夢cms怎么增加欄目圖片

本教程操作環境: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” 文件,在間加入下面代碼:

<script language='JavaScript' src="js/main.js"></script>

catalog_add.htm 中加入如下代碼

<!--加入欄目--> <tr> <td>欄目圖片:</td> <td> <input><input> </td> <input> </tr>

catalog_edit.htm中加入如下代碼

<!--加入欄目--> <tr> <td>欄目圖片:</td> <td> <input>"?/&gt; <input> </td> <input> </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?ishidden1?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?ishidden1?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?ishidden1?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> @@##@@</li>{/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-&gt;GetOne("SELECT?typeimg,topid?FROM?dede_arctype?WHERE?id=?$id"); if?($row['topid']?==?'0')? {? return?$row['typeimg'];?? }? else? {? $row1?=?$dsql-&gt;GetOne("SELECT?typeimg?FROM?dede_arctype?WHERE?id=?$row[topid]");? return?$row1['typeimg'];? }? }

前臺調用方法為:

@@##@@

這樣也可以調用了。完美!!

推薦學習:dedecms教程

織夢cms怎么增加欄目圖片織夢cms怎么增加欄目圖片織夢cms怎么增加欄目圖片

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享