织梦dedecms后台怎么增加栏目上传缩略图功能
上图是修改后的,每个栏目可以上传相应的图片
更多精彩就在: 51免费论文网|www.jxszl.com
,下面来开始II次开发的教程!
第I.步:执行SQL命令为数据库的栏目表结构添加I.个字段(执行选多行命令)
altertable`dede_arctype`add`typeimg`char(I.00)NOTNULLdefault;
第II步:修改涉及到文件:
dede/catalog_add.php
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
include/taglib/channel.lib.php
I..修改dede/catalog_add.php文件
打开查找
$queryTemplate="INSERTINTO`arctype`
将
(reid,topid,sortrank,typename,typedir,
替换为
(reid,topid,sortrank,typename,typedir,typeimg,
将
(~reid~,~topid~,~rank~,~typename~,~typedir~,
替换为
(~reid~,~topid~,~rank~,~typename~,~typedir~,~typeimg~,
查找
$in_query="INSERTINTO`arctype`
将
(reid,topid,sortrank,typename,typedir,
替换为
(reid,topid,sortrank,typename,typedir,typeimg,
将
($reid,$topid,$sortrank,$typename,$typedir,
替换为
($reid,$topid,$sortrank,$typename,$typedir,$typeimg,
保存此文件!
II.修改dede/catalog_edit.php文件
查找
$upquery="UPDATE`arctype`SET
在typedir=$typedir,其下面增加I.行:
typeimg=$typeimg,
保存此文件!
III.修改dede/templets/catalog_add.htm文件
在最上面找到这段代码
替换为:
查找
在标签下面增加I.行:
远程
(栏目模板里用{dede:field.typeimg/}调用
保存此文件!
IV.修改dede/templets/catalog_edit.htm文件
在最上面找到这段代码
替换为:
查找
在其下面增加I.行:
远程
(栏目模板里用{dede:field.typeimg/}调用)
保存此文件!
到这里已经基本修改完成!
栏目图片的添加或修改图片时在(栏目管理>高级选项)里面就会自动出现栏目图片添加的选择,点击选择图片,弹出窗口内选择浏览上传就OK.
注意:前台栏目标签调用的时候,还需要改I.个文件,才能实现栏目图片显示,否则只能通过sql语句才能显示图片.
第III步:缩略图调用
打开:include/taglib/channel.lib.php
查找
if($type==top)
将
if($type==top)
{
$sql="SELECTid,typename,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
From`arctype`WHEREreid=0Andishidden<>I.orderbysortrankasclimit0,$line";
}
elseif($type==son)
{
if($typeid==0)return;
$sql="SELECTid,typename,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
From`arctype`WHEREreid=$typeidAndishidden<>I.orderbysortrankasclimit0,$line";
}
elseif($type==self)
{
if($reid==0)return;
$sql="SELECTid,typename,typedir,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
FROM`arctype`WHEREreid=$reidAndishidden<>I.orderbysortrankasclimit0,$line";
}
替换为
if($type==top)
{
$sql="SELECTid,typename,typedir,typeimg,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
From`arctype`WHEREreid=0Andishidden<>I.orderbysortrankasclimit0,$line";
}
elseif($type==son)
{
if($typeid==0)return;
$sql="SELECTid,typename,typedir,typeimg,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
From`arctype`WHEREreid=$typeidAndishidden<>I.orderbysortrankasclimit0,$line";
}
elseif($type==self)
{
if($reid==0)return;
$sql="SELECTid,typename,typedir,typeimg,isdefault,ispart,defaultname,nameruleII,moresite,siteurl,sitepath
FROM`arctype`WHEREreid=$reidAndishidden<>I.orderbysortrankasclimit0,$line";
}
导航栏目调用方法:
第IV步:文章内容页调用
如果想同时在文章内容页调用栏目图片打开,修改includearc.archives.class.php
查找
if($this->ChannelUnit->ChannelInfos[issystem]!=-I.)
将
if($this->ChannelUnit->ChannelInfos[issystem]!=-I.)
{
//如果当前文档不是系统模型,为单表模型
$query="SELECTarc.*,tp.reid,tp.typedir,ch.addtable
FROM`archives`arc
LEFTJOINarctypetpontp.id=arc.typeid
LEFTJOINchanneltypeaschonarc.channel=ch.id
WHEREarc.id=$aid";
$this->Fields=$this->dsql->GetOne($query);
替换为
if($this->ChannelUnit->ChannelInfos[issystem]!=-I.)
{
//如果当前文档不是系统模型,为单表模型
$query="SELECTarc.*,tp.reid,tp.typedir,typeimg,ch.addtable
FROM`archives`arc
LEFTJOINarctypetpontp.id=arc.typeid
LEFTJOINchanneltypeaschonarc.channel=ch.id
WHEREarc.id=$aid";
$this->Fields=$this->dsql->GetOne($query);
保存此文件!
如果大家还想在{dede:typetypeid=栏目id}{/dede:type}这个标签也调用栏目图片,道理是I.样的,找到include/taglib/type.lib.php
查找
$row=$dsql->GetOne("SELECTid,typename,typedir,
替换为
$row=$dsql->GetOne("SELECTid,typename,typedir,typeimg,
即可!
到这里就已经完成了.是不是很简单也很实用呢,希望大家越学越好!
原文链接:http://www.jxszl.com/biancheng/dedecms/75199.html
热门阅读