此功能添加涉及到以下文件:
dede/catalog_add.PHP
dede/catalog_edit.PHP
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
include/taglib/channel.lib.PHP
此升级修改方法,在v5.7,v5.7sp1 测试通过,其他版本未测试,原理基本相同,请大家自行测试是否可行。
首先给 栏目表(`dede_arctype`)增加一个字段typeimg
alter table `dede_arctype` add `typeimg` varchar(200) NOT NulL default ;
修改catalog_add.PHP文件
打开dede/catalog_add.PHP
查找$queryTemplate = “insert into `dede_arctype`
将
(reID,topID,sortrank,typename,typedir,
替换为:
(reID,typeimg,将
(‘~reID~’,'~topID~’,'~rank~’,'~typename~’,'~typedir~’,替换为:
(‘~reID~’,'~typeimg~’,查找$in_query = “INSERT INTO `dede_arctype`
将
(reID,替换为:
(reID,将
(‘$reID’,'$topID’,'$sortrank’,'$typename’,'$typedir’,替换为:
(‘$reID’,'$typeimg’,保存catalog_add.PHP
下面修改catalog_edit.PHP文件
打开dede/catalog_edit.PHP
查找$upquery = “Update `dede_arctype` set
在 typedir=’$typedir’,其下面增加一行:
`typeimg`=’$typeimg’,保存catalog_edit.PHP
开始修改栏目添加模板文件
打开dede/templets/catalog_add.htm
在最上面找到这个段
替换为:
列表命名规则:
在标签下面增加一行:
(栏目模板里用{dede:fIEld.typeimg /}调用
保存catalog_add.htm
开始修改栏目编辑模板文件
打开dede/templets/catalog_edit.htm
在最上面找到这个段
替换为:
查找
在其下面增加一行:
(栏目模板里用{dede:fIEld.typeimg /}调用)
保存catalog_edit.htm
至此已经修改完成!
栏目图片的添加或修改图片时在 (栏目管理>高级选项)里面就会自动出现栏目图片添加的选择,点击选择图片,d出窗口内选择浏览上传就OK
注意:前台栏目标签调用的时候,还需要改一个文件,才能实现栏目图片显示,否则只能通过SQL语句才能显示图片。
打开:include/taglib/channel.lib.PHP
找到
if($type=='top'){ $sql = "Select ID,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reID=0 And ishIDden<>1 order by sortrank asc limit 0,$row";}else if($type=="son"){ //if($_sys_globals['typeID']>0) $typeID = $_sys_globals['typeID']; if($typeID==0) { return ''; } $sql = "Select ID,description From `dede_arctype` where reID='$typeID' And ishIDden<>1 order by sortrank asc limit 0,$row";}else if($type=="self"){ if($reID==0) { return ''; } $sql = "Select ID,description From `dede_arctype` where reID='$reID' And ishIDden<>1 order by sortrank asc limit 0,$row";}
替换成下面的:
if($type=='top'){ $sql = "Select ID,$row";}
调用方法:
如果想同时在文章内容页调用栏目图片打开,修改\include\arc.archives.class.PHP
查找
if($this->ChannelUnit->Channelinfos['issystem']!=-1)将
$query = “Select arc.*,tp.reID,tp.typedir,ch.addtablefrom `dede_archives` arcleft join dede_arctype tp on tp.ID=arc.typeIDleft join dede_channeltype as ch on arc.channel = ch.IDwhere arc.ID=’$aID’ “;$this->FIElds = $this->dsql->Getone($query);替换为:
$query = “Select arc.*,tp.typeimg,ch.addtablefrom `dede_archives` arcleft join dede_arctype tp on tp.ID=arc.typeIDleft join dede_channeltype as ch on arc.channel = ch.IDwhere arc.ID=’$aID’ “;$this->FIElds = $this->dsql->Getone($query);保存文件即可。
总结以上是内存溢出为你收集整理的DedeCms 栏目增加缩略图功能的方法全部内容,希望文章能够帮你解决DedeCms 栏目增加缩略图功能的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)