織夢cms增加欄位圖片的方法:1、把要新增欄位圖片欄位命名為“typeimg”,執行程式碼為“alter table dede_arctype add typeimg varchar(100)”;2、修改“catelog_add .php」和「catelog_edit.php」檔案內容;3、使用channel標籤呼叫欄目,然後取得目前欄目的最頂級的欄位圖片即可。
本教學操作環境: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></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="
以上這段程式碼是網路上的,我要的不是這樣的效果,我要是取得目前欄目的最頂級的欄位圖片
我用二種方法來解決這個問題:
本人測試有效
第一種:
修改檔案include/helpers/extend.helper.php
找到gettoptype函數,在裡面增加如下程式碼,目的是取得欄位圖片
前台呼叫方法:
//增加栏目图片 $toptypeimg=$row['typeimg']; if($action="images") return $toptypeimg;
這樣就可以呼叫了。完美! !
第二種方法:
修改檔案include/common.func.php
最後增加一個函數就行了,如下:
<img src="/static/imghwm/default1.png" data-src="{dede:field.typeid function=gettoptype(@me,images)/}" class="lazy" alt="織夢cms怎麼增加欄位圖片" >
前台呼叫方法為:
//获取顶级栏目的栏目图片 李国平更新于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']; } }
這樣也可以呼叫了。完美! !
推薦學習:dedecms教學
以上是織夢cms怎麼增加欄位圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

Dreamweaver Mac版
視覺化網頁開發工具

Atom編輯器mac版下載
最受歡迎的的開源編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。