### 第一步:数据库结构修改 首先,我们需要为数据库中的栏目表添加一个新字段用于存储栏目图片路径。
alter table `dede_arctype` add `typeimg` char(100) NOT NULL default '';
### 第二步:修改相关文件 接下来,我们需要对几个关键文件进行修改,以支持栏目图片的上传和显示功能。 #### 1. 修改 `dede/catalog_add.php` 打开 `dede/catalog_add.php` 文件,找到插入数据的SQL语句部分,并添加 `typeimg` 字段。
// 修改后的代码
$queryTemplate = "INSERT INTO `arctype` (reid,topid,sortrank,typename,typedir,typeimg, ...)";
$in_query = "INSERT INTO `arctype` (reid,topid,sortrank,typename,typedir,typeimg, ...) VALUES ('$reid','$topid','$sortrank','$typename','$typedir','$typeimg', ...)";
#### 2. 修改 `dede/catalog_edit.php` 打开 `dede/catalog_edit.php` 文件,找到更新数据的SQL语句部分,并添加 `typeimg` 字段。
// 修改后的代码
$upquery = "UPDATE `arctype` SET typedir='$typedir', typeimg='$typeimg', ...";
#### 3. 修改 `dede/templets/catalog_add.htm` 打开 `dede/templets/catalog_add.htm` 文件,在合适位置添加栏目图片上传的HTML代码。
栏目图片:
#### 4. 修改 `dede/templets/catalog_edit.htm` 类似地,打开 `dede/templets/catalog_edit.htm` 文件,添加或修改相应的HTML代码以支持图片编辑功能。
栏目图片:
### 第三步:前台调用支持 为了在前台正确显示栏目图片,还需要修改 `include/taglib/channel.lib.php` 文件。
// 修改后的SQL查询
$sql = "SELECT id,typename,typedir,typeimg,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath FROM `arctype` WHERE reid=0 And ishidden<>1 order by sortrank asc limit 0, $line ";
### 第四步:内容页调用 如果希望在文章内容页也能调用栏目图片,需修改 `include/arc.archives.class.php` 文件。
// 修改后的SQL查询
$query = "SELECT arc.*,tp.reid,tp.typedir,typeimg,ch.addtable FROM `archives` arc LEFT JOIN arctype tp on tp.id=arc.typeid LEFT JOIN channeltype as ch on arc.channel = ch.id WHERE arc.id='$aid' ";
### 导航栏目调用方法 最后,在模板中可以通过以下标签调用栏目图片: