织梦栏目字段添加并调用:例如图片上传
1.在数据库栏目表dede_arctype中的typedir后面添加要添加的字段 typeimg
2.修改sql语句, dede/catalog_add.PHP中搜索 queryTemplate等级栏目和$in_query子集栏目,在sql语句中的每个~typedir~后面加上$typeimg,
注:参数部分记得要加上‘$ typeimg’。
3.编辑dede/catalog_edit.php在typedir='$typedir',后面增加一行typeimg='$typeimg',
4.打开dede/templets/catalog_add.htm 搜索栏目名称 在栏目名称</tr>下添加一下代码
需要拷贝js:<script language="javascript" src="js/main.js"></script><tr>
<td height="65" style="padding-left:10px;">栏目图片:</td>
<td width="400">
<input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
</td>
<td>
<td align="center"><img src="<?php echo "images/pview.gif";?>" width="150" height="100" id="picview" name="picview"></td>
</td>
</tr>
打开dede/templets/catalog_edit.htm,在栏目名称下添加代码,其实织梦的文章页面也有添加缩略图,直接拷贝过来也可以,拷贝后记得连js一起拷贝
需要拷贝js:<script language="JavaScript" src="js/main.js"></script>
<tr>
<td height="65" style="padding-left:10px;">栏目图片:</td>
<td width="400">
<input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="<?php echo $myrow['typeimg']?>" />
<input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" />
</td>
<td>
<td align="center"><img src="<?php if($myrow["typeimg"]!="") echo $myrow["typeimg"]; else echo "images/pview.gif";?>
" width="150" height="100" id="picview" name="picview"></td>
</td>
</tr>
5.添加完成后dede:channel标签和dede:type等标签都还是无法调用该字段的,还需要修改标签语句
编辑include/taglib/channel.lib.php文件 找到一下代码,并在每个typedir后面加上自己添加的字段typeimg
if($type=='top')
{
$sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_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,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `dede_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,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
}
//如果用子栏目模式,当没有子栏目时显示同级栏目
if($type=='son' && $reid!=0 && $totalRow==0)
{
$sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE reid='$reid' And ishidden<>1 order by sortrank asc limit 0, $line ";
$dsql->SetQuery($sql);
$dsql->Execute();
}
找到$linkOkstr = str_replace("~typename~",$row['typename'],$linkOkstr);在下面复制一行
讲其修改为$linkOkstr = str_replace("~typeimg~",$row['typeimg'],$linkOkstr);
6.修改include/taglib/type.lib.php文件,找到如下代码,并在typedir后加上typeimg,前台就可以通过标签调用了
if(empty($typeid)) return '';
$row = $dsql->GetOne("SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `dede_arctype` WHERE id='$typeid' ");