您好,登錄后才能下訂單哦!
這篇文章主要介紹了織夢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 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)" /}">
關于“織夢cms如何增加欄目圖片”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“織夢cms如何增加欄目圖片”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。