在织梦CMS中,后台栏目中没有栏目图片。
然而现在大多数网站每个栏目都有不同的banner大图
所以为了方便可以直接在后台栏目处添加和更换这个栏目图片,我们需要给dedecms二次开发,增加栏目图片上传选项。
第一步 为dede_arctype表增加一个字段存放图片的字段
后台 - 系统 - 系统设置 - SQL命令行工具
或者直接进入phpmyadmin中找到dede_arctype表,插入一个字段,字段名随意。
ALTER TABLE `dede_arctype` ADD `typeimg` CHAR( 255 ) NOT NULL DEFAULT '';
第二步 为织梦后台添加一个选择图片表单
打开dede/templets/catalog_add.htm,查找
<tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td> <td class='bline'><input name="typename" type="text" id="typename" size="30" class="iptxt" /></td> </tr>
在它的</tr>下面加入
<script language='javascript' src="js/main.js"></script> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目图片:</font></td> <td class='bline'> <input name="typeimg" type="text" style="width:250px" id="typeimg" class="alltxt" value="" /> <input type="button" name="set9" value="浏览... "class="coolbg np" style="width:60px" onClick="SelectImage('form1.typeimg','');" /> </td> </tr>
打开dede/templets/catalog_edit.htm页面,查找
<tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目名称:</font></td> <td class='bline'><input name="typename" type="text" id="typename" size="30" value="<?php echo $myrow['typename']?>" class="iptxt" /></td> </tr>
在其下面添加:
<script language='javascript' src="js/main.js"></script> <tr> <td class='bline' height="26" style="padding-left:10px;"><font color='red'>栏目图片:</font></td> <td class='bline'> <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> </tr>
现在我们已经为织梦后台的栏目管理页面中添加页面和修改页面都加上了栏目图片表单了。
下一步就是将数据保存到数据库和修改数据库数据。
第三步 保存或者修改新增字段到数据库
打开dede/catalog_add.php页面,保存上传栏目图片的内容,查找
$queryTemplate = "INSERT INTO
在
(reid,topid,sortrank,typename
的后面添加 ,typeimg
字段。
再找到
('~reid~','~topid~','~rank~','~typename~',
在其后面添加 '~typeimg~'
字段。
接着查找
$in_query = "INSERT INTO
在
(reid,topid,sortrank,typename
后面同样添加 ,typeimg
字段。
并在
('$reid','$topid','$sortrank','$typename'
后面添加 '$typeimg'
字段。保存文件后,这个页面就调整好了。
然后打开dede/catalog_edit.php,查找下面的代码(会查询到多条记录,选第一个)
$upquery = "UPDATE `#@__arctype` SET
在
typename='$typename',
的后面添加
typeimg='$typeimg',
保存即可。
最后 如何使用
栏目页可以直接使用{dede:field.typeimg/}来调用。
但在其他标签下,直接用 [field:typeimg/] 是获取不到图片的,最直接的办法是修改“include/taglib/”下的页面(用到哪个标签改哪个页面),把
“id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath”
改成
*
即可,这样在模版中直接用 [field:typeimg/] 接口获取到图片。
还是不会咋办?
土豪就直接下载吧!