dedecms(织梦)给栏目添加图标全攻略
2013-01-24 16:20
183 查看
由于本站的特殊需要要为本站的某一个栏目下的所有栏目要添加图标,但是由于dedecms的栏目不像phpcms能给栏目添加图标。所以本人在网上找了很多资料,但都不是很全。通过参考这些资料最后终于实现了栏目添加图标的功能。并且还对栏目做了默认的图标设置。下面就具体方法分享如下:
一、 在后台栏目的添加和修改页面中添加栏目图标一栏
[b]效果图如下:
[/b]
具体操作方法:
1、用计事本或见面编辑器打开目录下的dede\templets\catalog_add.htm
2、在代码中添加JS是:
第一条,找到下面代码:
<title>栏目管理</title> <link href="css/base.css" rel="stylesheet" type="text/css">这个代码
复制代码
在后面加入
<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="typename" type="text" id="typename" size="30" class="iptxt" /></td> </tr>
复制代码
以其下面加入
<tr> <td class='bline' height="26" style="padding-left:10px;">栏目图标:</td> <td class='bline'><input name="icon" type="text" id="icon" size="35" /> <input name="sel1" type="button" id="sel1" value="选取" onClick="SelectImage('form1.icon','small')" /></td> </tr>
复制代码
3、用计事本或见面编辑器打开目录下的dede\templets\catalog_edit.htm
4、修改内容和方法与以面第2步一样。
#p#副标题#e#
二、给数据库中的栏目表(arctype)添加图标字段(typeimg或icon)
效果图
具体操作如下:
1、在数据表下面的添加字段点击执行
2、添加字段时的参数如下图所示
#p#副标题#e#
三、修改栏目添加和修改的提交代码
1、打开目录下dede\ catalog_add.php的文件添加以下代码
$icon = trim($_POST['icon']);
复制代码
把这一句
$queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0', '','')"; 改成
$queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','$icon','','')";
复制代码
把这句
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes')";
修改成
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$icon','$content','$smalltypes')";
复制代码
2、打开目录下dede\ catalog_edit.php的文件添加以下代码
代码开始处添加:
$icon = trim($_POST['icon']);
复制代码
在`content`='$content',后面添加`typeimg`='$icon',
#p#副标题#e#
四、修改栏目调用标签(channl)
1、打开目录下的include\taglib\channel.lib.php文件,这个文件就是channl标签的文件。找到所有的$sql参数的值如:
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
复制代码
在所搜索的字段值中添加typeimg字段就行。添加后就是:
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description,typeimg From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
复制代码
2、另外在调用显示时,查看是否有栏目图标没有的话设置成默认的栏目图标。我文件中找到:
if($row=$dsql->GetArray())
复制代码
在其后面添加一个判断语句:
if($row['typeimg']=='') { $row['typeimg']=$GLOBALS['cfg_cmspath'].'/images/defaultbookimg.gif'; }
复制代码
这样,如果在没有设置目标责任制图标的情况下系统会自动设置成defaultbookimg.gif图片为栏目图标。
同样在其它调用的栏目的标签文件中也可以用这种方法修改里面的字段。这里就多不说了,若有网友还不明白请回复或联系我。进行说明问题,进行修改。
五、调用修改后标签并测试
在栏目调用中
可以用[field:typeimg]来调用栏目图标。
好了,到这里我们的织梦中给栏目添加图标的方法就讲解完了,希望对各位网在有用。如果有什么时候地方不太懂或不明白的请和我联系。联系方式:学习之家(http://www.xxzj51.com)不好意思,因为原文代码复制到这里显示不是很好。大家可以去看原谅。谢谢支持! 本文地址:http://www.xxzj51.com/a/CMSjiaocheng/DedeCmsjiaocheng/shiyongjiao/2012/1009/189_4.html
一、 在后台栏目的添加和修改页面中添加栏目图标一栏
[b]效果图如下:
[/b]
具体操作方法:
1、用计事本或见面编辑器打开目录下的dede\templets\catalog_add.htm
2、在代码中添加JS是:
第一条,找到下面代码:
<title>栏目管理</title> <link href="css/base.css" rel="stylesheet" type="text/css">这个代码
复制代码
在后面加入
<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="typename" type="text" id="typename" size="30" class="iptxt" /></td> </tr>
复制代码
以其下面加入
<tr> <td class='bline' height="26" style="padding-left:10px;">栏目图标:</td> <td class='bline'><input name="icon" type="text" id="icon" size="35" /> <input name="sel1" type="button" id="sel1" value="选取" onClick="SelectImage('form1.icon','small')" /></td> </tr>
复制代码
3、用计事本或见面编辑器打开目录下的dede\templets\catalog_edit.htm
4、修改内容和方法与以面第2步一样。
#p#副标题#e#
二、给数据库中的栏目表(arctype)添加图标字段(typeimg或icon)
效果图
具体操作如下:
1、在数据表下面的添加字段点击执行
2、添加字段时的参数如下图所示
#p#副标题#e#
三、修改栏目添加和修改的提交代码
1、打开目录下dede\ catalog_add.php的文件添加以下代码
$icon = trim($_POST['icon']);
复制代码
把这一句
$queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0', '','')"; 改成
$queryTemplate = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2,ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2','0','0','','','~typename~','0','','','0','0','0','$icon','','')";
复制代码
把这句
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$content','$smalltypes')";
修改成
$in_query = "INSERT INTO `dede_arctype`(reid,topid,sortrank,typename,typedir,isdefault,defaultname,issend,channeltype, tempindex,templist,temparticle,modname,namerule,namerule2, ispart,corank,description,keywords,seotitle,moresite,siteurl,sitepath,ishidden,`cross`,`crossid`,`typeimg`,`content`,`smalltypes`)
VALUES('$reid','$topid','$sortrank','$typename','$typedir','$isdefault','$defaultname','$issend','$channeltype', '$tempindex','$templist','$temparticle','default','$namerule','$namerule2', '$ispart','$corank','$description','$keywords','$seotitle','$moresite','$siteurl','$sitepath','$ishidden','$cross','$crossid','$icon','$content','$smalltypes')";
复制代码
2、打开目录下dede\ catalog_edit.php的文件添加以下代码
代码开始处添加:
$icon = trim($_POST['icon']);
复制代码
在`content`='$content',后面添加`typeimg`='$icon',
#p#副标题#e#
四、修改栏目调用标签(channl)
1、打开目录下的include\taglib\channel.lib.php文件,这个文件就是channl标签的文件。找到所有的$sql参数的值如:
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
复制代码
在所搜索的字段值中添加typeimg字段就行。添加后就是:
$sql = "Select id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,description,typeimg From `dede_arctype` where reid='$reid' And ishidden<>1 order by sortrank asc limit 0,$row";
复制代码
2、另外在调用显示时,查看是否有栏目图标没有的话设置成默认的栏目图标。我文件中找到:
if($row=$dsql->GetArray())
复制代码
在其后面添加一个判断语句:
if($row['typeimg']=='') { $row['typeimg']=$GLOBALS['cfg_cmspath'].'/images/defaultbookimg.gif'; }
复制代码
这样,如果在没有设置目标责任制图标的情况下系统会自动设置成defaultbookimg.gif图片为栏目图标。
同样在其它调用的栏目的标签文件中也可以用这种方法修改里面的字段。这里就多不说了,若有网友还不明白请回复或联系我。进行说明问题,进行修改。
五、调用修改后标签并测试
在栏目调用中
{dede:channel type='top' row='10' currentstyle="<li class='hover'><a href='~typelink~' ~rel~><span>~typename~</span></a></li>"} <li><a href='[field:typeurl/]' [field:rel/]><span>[field:typename/]</span></a></li> {/dede:channel}
可以用[field:typeimg]来调用栏目图标。
好了,到这里我们的织梦中给栏目添加图标的方法就讲解完了,希望对各位网在有用。如果有什么时候地方不太懂或不明白的请和我联系。联系方式:学习之家(http://www.xxzj51.com)不好意思,因为原文代码复制到这里显示不是很好。大家可以去看原谅。谢谢支持! 本文地址:http://www.xxzj51.com/a/CMSjiaocheng/DedeCmsjiaocheng/shiyongjiao/2012/1009/189_4.html
相关文章推荐
- 织梦DEDECMS网站建设栏目自动添加nofollow的方法介绍
- 给织梦DEDECMS栏目添加图片等自定义选项
- 给织梦DEDECMS系统添加栏目图片
- 织梦dedecms升级5.7后添加栏目文章没有确定按钮
- 给织梦DEDECMS添加栏目图片与英文名显示
- 给织梦DEDECMS添加栏目图片与英文名显示
- 织梦dedecms5.7栏目添加缩略图
- 织梦dedecms栏目添加自定义字段
- 织梦dedecms栏目添加自定义字段,增加栏目上传缩略图功能
- 织梦dedecms获取当前栏目路径及栏目名称的方法
- 织梦dedecms调用栏目的SEO标题、描述、关键字的方法
- 织梦DedeCMS优化:列表页文章缩略图添加alt属性
- 织梦DedeCMS添加变量报错Request var not allow!的解决办法
- 织梦dedecms转joomla!,如何自动添加文章分类-category
- 织梦DEDECMS文章、栏目页获取当前页面顶级栏目名称的方法
- dedecms织梦网站本地迁移到服务器后,后台更新栏目文档提示模板文件不存在,无法解析文档!的解决办法
- 织梦DeDeCMS在列表与内容页中获取顶级栏目ID
- 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答
- 安装好DEDE织梦程序以后,后台模板不对,添加栏目的时候最下面没有了 确认和取消 按钮 怎么回事?
- 请问:关于织梦dedecms点击导航上的父栏目进去默认显示第一个子栏目的列表的问题