专注前端,专注网页设计制作 - (承接网页制作/模板制作/设计) QQ:755150799 织梦模板 | 网页特效 | 网站模板 | 建站教程 | TOP排行榜 | Tag标签 | 联系我们
当前位置: 网站首页 > 建站教程 > dedeCMS教程 > >

dedecms织梦增加栏目缩略图、栏目图片功能的方法

时间:2018-10-17来源:学技巧网站制作 作者:学技巧 阅读: 次 【 点评一下

网站每个栏目都有不同的banner大图,为了方便客户可以直接在后台栏目处添加或更换这个栏目图片,我们需要给dedecms二次开发,增加栏目图片上传选项。增加栏目图片或缩略图的情况,是为了父级栏目下调用子级栏目的图片,显得网站高大上,页面美观。

1.先给数据库中的dede_arctype表增加一个字段

后台 - 系统 - 系统设置 - SQL命令行工具

ALTER TABLE `dede_arctype` ADD `typeimg` CHAR( 255 ) NOT NULL DEFAULT '';

2.打开 \dede\templets\catalog_add.htm 搜索

name="typename"

在它的下面加入

  图片地址:

3.打开 \dede\templets\catalog_edit.htm 搜索

name="typename"

在它的下面加入

  图片地址:

 

4.打开 \dede\catalog_add.php 搜索

$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename

改成

$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typeimg

继续搜索

VALUES('$reid','$topid','$sortrank','$typename'

改成

VALUES('$reid','$topid','$sortrank','$typename','$typeimg'

 

5.打开 \dede\catalog_edit.php 搜索

`smalltypes`='$smalltypes'

改成

`smalltypes`='$smalltypes',`typeimg`='$typeimg'

 

6.打开 \include\taglib\channelartlist.lib.php 搜索

typedir

改成

typedir,typeimg

7.打开 \include\taglib\channel.lib.php 搜索

typedir

改成

typedir,typeimg

注意:这个文件有4处都需要改

8.打开 \include\taglib\type.lib.php 搜索

typedir

改成

typedir,typeimg

9.\include\arc.listview.class.php 搜索

//设置环境变量

在它下面添加

$this->Fields['typeimg'] = $this->TypeLink->TypeInfos['typeimg'];

 

后台栏目效果

dedecms织梦增加栏目缩略图、栏目图片功能的方法

 

前台模板中调用标签

{dede:channelartlist}{dede:field.typeimg/}{/dede:channelartlist}

{dede:channel}[field:typeimg/]{/dede:channel}

{dede:type}[field:typeimg/]{/dede:type}

栏目列表页单独调用

{dede:field.typeimg/}


如果内容页也调用,需要修改以下代码

  如果想同时在文章内容页调用栏目图片打开,这就需要我们再修改一个文件,文件位置是:\include\arc.archives.class.php

查找

if($this->ChannelUnit->ChannelInfos['issystem']!=-1)

$query = “Select arc.*,tp.reid,tp.typedir,ch.addtable

from `dede_archives` arc

left join dede_arctype tp on tp.id=arc.typeid

left join dede_channeltype as ch on arc.channel = ch.id

where arc.id=’$aid’ “;

$this->Fields = $this->dsql->GetOne($query);

替换为:

$query = “Select arc.*,tp.reid,tp.typedir,tp.typeimg,ch.addtable

from `dede_archives` arc

left join dede_arctype tp on tp.id=arc.typeid

left join dede_channeltype as ch on arc.channel = ch.id

where arc.id=’$aid’ “;

$this->Fields = $this->dsql->GetOne($query);

保存文件即可。


分享到:
  • 用微信  “扫一扫”

    将文章分享到朋友圈。

    关注公众号:xue-jiqiao

本文版权归原作者所有,转载请注明原文来源出处,学技巧网站制作感谢您的支持!