dedecms 调用栏目给栏目上穿图片为什么报错

织梦dedecms栏目添加自定义字段,增加栏目上传缩略图功能
我们在制作时,通常都有&关于我们&,&新闻中心&等栏目,要每个栏目都可以显示不同的图片就按照下面的方法修改,实现每个栏目都有上传栏目缩略图的功能。
第一步:执行SQL命令为数据库的栏目表结构添加一个字段
alter table `dede_arctype` add `typeimg` varchar(200) NOT NULL
第二步:修改涉及到文件:
dede/catalog_add.php
dede/catalog_edit.php
dede/templets/catalog_add.htm
dede/templets/catalog_edit.htm
include/taglib/channel.lib.php
1、打开dede/catalog_add.php文件,并查找
$queryTemplate = &insert into `dede_arctype`
(reid,topid,sortrank,typename,typedir,
(reid,topid,sortrank,typename,typedir,typeimg,
(&~reid~&,'~topid~&,'~rank~&,'~typename~&,'~typedir~&,
(&~reid~&,'~topid~&,'~rank~&,'~typename~&,'~typedir~&,'~typeimg~&,
$in_query = &INSERT INTO `dede_arctype`
(reid,topid,sortrank,typename,typedir,
(reid,topid,sortrank,typename,typedir,typeimg,
(&$reid&,'$topid&,'$sortrank&,'$typename&,'$typedir&,
(&$reid&,'$topid&,'$sortrank&,'$typename&,'$typedir&,'$typeimg&,
保存catalog_add.php。
2、打开dede/catalog_edit.php文件,并查找
$upquery = &Update `dede_arctype` set
在&typedir=&$typedir&, 其下面增加一行:
`typeimg`=&$typeimg&,
保存catalog_edit.php。
3、打开dede/templets/catalog_add.htm文件
在最上面找到这段代码
&title&栏目管理&/title&
&link href=&css/base.css& rel=&stylesheet& type=&text/css&&
&title&栏目管理&/title&
&link href=&css/base.css& rel=&stylesheet& type=&text/css&&
&script language=&javascript& src=&../include/js/dedeajax2.js&&&/script&
&script language=&javascript& src=&js/main.js&&&/script&
&script type=&text/javascript& src=&js/calendar/calendar.js&&&/script&
& &td height=&26& style=&padding-left:10&&列表命名规则:&/td&
&&& &input name=&namerule2& type=&text& id=&namerule2& value=&{typedir}/list_{tid}_{page}.html&& class=&pubinputs&& style=&width:250px& /&
&&& &img src=&images/help.gif& alt=&帮助& width=&16& height=&16& border=&0& style=&cursor:pointer& onClick=&ShowHide('helpvar3')&/&
在标签下面增加一行:
&!--增加栏目缩略图--&
&td width=&90& style=&padding-left:10&&栏目图片:&/td&
&td width=&560&&
&&& &table width=&100%& border=&0& cellspacing=&1& cellpadding=&1&&
&&&&& &td height=&30&&
&&&&& &input name=&typeimg& type=&text& id=&typeimg& style=&width:240px& /&
&&&&& &input type=&button&& value=&本地上传& style=&width:70cursor:display:none& /&
&&&&& &iframe name='uplitpicfra' id='uplitpicfra' src='' style='display:none'&&/iframe&
&&&&& &span class=&litpic_span&&&input name=&litpic& type=&file& id=&litpic&& onChange=&SeePicNew(this, 'divpicview', 'uplitpicfra', 165, 'archives_add.php');& size=&1& class='np coolbg'/&&/span&
&&&&& &input type=&button& name=&Submit2& value=&选择图片& style=&margin-left:8& onClick=&SelectImage('form1.typeimg','small');& class='np coolbg'/&
&&&&& &input type=&button& name=&Submit2& value=&裁剪& style=&margin-left:8& onClick=&imageCut('typeimg');& class='np coolbg'/&
&&&&& &input type='checkbox' class='np' name='ddisremote' value='1' id='ddisremote'/&远程&br /&(栏目模板里用{dede:field.typeimg /}调用
&&&&& &/td&
& &/table&
&td width=&150& align=&center&&
&div id='divpicview' class='divpre'&&/div&
&!--增加栏目缩略图--&
保存catalog_add.htm。
4、打开dede/templets/catalog_edit.htm文件
在最上面找到这段代码
&title&栏目管理&/title&
&link href=&css/base.css& rel=&stylesheet& type=&text/css&&
&title&栏目管理&/title&
&link href=&css/base.css& rel=&stylesheet& type=&text/css&&
&script language=&javascript& src=&../include/js/dedeajax2.js&&&/script&
&script language=&javascript& src=&js/main.js&&&/script&
&script type=&text/javascript& src=&js/calendar/calendar.js&&&/script&
& &td height=&26& style=&padding-left:10&&列表命名规则:&/td&
&&& &input name=&namerule2& type=&text& id=&namerule2& value=&&?php echo $myrow['namerule2']?&& size=&40& class=&iptxt& /&
&&& &img src=&images/help.gif& alt=&帮助& width=&16& height=&16& border=&0& style=&cursor:pointer& onClick=&ShowHide('helpvar3')&/&
在其下面增加一行:
&!--增加栏目缩略图--&
& &td width=&90& height=&81& style=&padding-left:10&&栏目图片:&/td&&/td&
& &td width=&500&&
&&& &input name=&typeimg& type=&text& id=&typeimg& style=&width:300px&& value=&&?php echo $myrow['typeimg']?&&&&input type=&button& name=&Submit& value=&浏览...& style=&width:70px& onClick=&SelectImage('form1.typeimg','');&&
&&& &input type=&button& name=&Submit2& value=&裁剪& style=&margin-left:8& onClick=&imageCut('typeimg');& class='np coolbg'/&
&&& &input type='checkbox' class='np' name='ddisremote' value='1'&远程&br /&(栏目模板里用{dede:field.typeimg /}调用)
& &td align=&center&&&img src=&&?php if($myrow['typeimg']!=&&) echo $myrow['typeimg']; else echo &images/pview.gif&;?&& width=&150& height=&100& id=&picview& name=&picview&&&/td&
&!--增加栏目缩略图--&
至此已经修改完成!
栏目图片的添加或修改图片时在 (栏目管理&高级选项)里面就会自动出现栏目图片添加的选择,点击选择图片,弹出窗口内选择浏览上传就OK。
注意:前台栏目标签调用的时候,还需要改一个文件,才能实现栏目图片显示,否则只能通过sql语句才能显示图片。
第三步:列表页缩略图的调用
打开:include/taglib/channel.lib.php
if($type=='top')
&$sql = &Select id,typename,typedir,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,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,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,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&;
替换成下面的:
if($type=='top')
&$sql = &Select id,typename,typeimg,typedir,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,typename,typeimg,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,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,typename,typeimg,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&;
调用方法:
&img src=&[field:typeimg /]& /&
第四步:文章内容页缩略图的调用查找
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);
保存文件即可。
本文来自:爱织梦(idedecms.com) 原文链接:
上一篇: 下一篇:
共有0人阅读,期待你的评论!发表评论
最新评论 (PS:骚年,觉得本站怎么样?上百度口碑给我们一个五星好评呗我看好你哟~!)
如果不能在帮助内容中找到答案,或者您有其他建议、投诉,您还可以:
客服热线:
邮件联系:
下载iDedecms插件
服务器时间
周一至周五:9:00-18:00
友情链接:
您的购物车为空 !前台调用栏目时需要显示图标,整理一下:
第一步:&系统-&SQL命令工具& , 插入sql语句
alter table dede_arctype add typeimg varchar(100)
第二步:进入后台管理文件目录(默认为:dede目录),找到&catelog_add.php&下的 228行,把下面的替换默认的(在SQL语句添加了&typeimg&)
$in_query = "INSERT INTO `#@__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`,`content`,`smalltypes`,`typeimg`)
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','$typeimg')";
第三步:找到&catelog_edit.php&下的36行把下面的替换默认的(在SQL语句添加了&typeimg&)
$upquery = "UPDATE `#@__arctype` SET
issend='$issend',
sortrank='$sortrank',
typename='$typename',
typedir='$typedir',
isdefault='$isdefault',
defaultname='$defaultname',
issend='$issend',
ishidden='$ishidden',
channeltype='$channeltype',
tempindex='$tempindex',
templist='$templist',
temparticle='$temparticle',
namerule='$namerule',
namerule2='$namerule2',
ispart='$ispart',
corank='$corank',
description='$description',
keywords='$keywords',
seotitle='$seotitle',
moresite='$moresite',
`cross`='$cross',
`content`='$content',
`crossid`='$crossid',
`typeimg`='$typeimg',
`smalltypes`='$smalltypes'
WHERE id='$id' ";
第四步:进入后台管理文件目录(默认为:dede目录)/templets/ 下的 &catalog_add.htm 和 catalog_edit.htm" 文件,再加入下面代码:
&script language='javascript' src="js/main.js"&&/script&
并在想放置的位置加入下面代码:
&td colspan="2"&
&table width="100%" border="0" cellspacing="0" cellpadding="0" style="margin-bottom:3"&
&td width="90" class="bline" height="24"&&imgmm:&/td&
&td class="bline"&
&input type="text" name="typeimg" id="imgmm" style="width:300px" class="text" value="&?php echo $myrow['typeimg']?&" /&
&input name="imgmm_bt" type="button" class="inputbut" value="浏览..." onclick="SelectImage('form1.imgmm','big')" /&
&input type="hidden" name="dede_addonfields" value="imgmm,img" /&
第五步:调用栏目通边 channel 标签调用,所以要更改, 进入/include/taglib/channel.lib.php文件,找到78行,把以下的代码替换默认(添加typeimg字段查询)
if($type=='top')
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg
From `#@__arctype` WHERE reid=0 And ishidden&&1 order by sortrank asc limit 0, $line ";
else if($type=='son')
if($typeid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,content,typeimg
From `#@__arctype` WHERE reid='$typeid' And ishidden&&1 order by sortrank asc limit 0, $line ";
else if($type=='self')
if($reid==0) return '';
$sql = "SELECT id,typename,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath,typeimg
FROM `#@__arctype` WHERE reid='$reid' And ishidden&&1 order by sortrank asc limit 0, $line ";
最后一步:就是在前台调用了
{dede:channel type='self' typeid='15' row='8' currentstyle="&li&&a href='~typelink~' class='thisclass'&~typename~&/a& &/li&"}
&li&&a href='[field:typelink/]'&[field:typename/]&/a& &img src='[field:typeimg/]' /&&/li&
{/dede:channel}
阅读(...) 评论()咨询热线 152-
您现在的位置:
DEDECMS下载
最新DEDECMS V5.7 UTF改进版
DEDECMS下载
最新DEDECMS V5.7 GBK改进版前端, 设计,CMS
dedecms 加入栏目图片功能
应用时候,经常会需要在栏目中显示该栏目的栏目图片,但
本身就没有栏目图片的功能,这个不得不说是个遗憾。下面小编给大家介绍下怎么在更改程序使
支持栏目图片。
先在数据库arctype表中增加一个typename的字段
下面 dede/ 为你系统后台目录,如果您更改了后台目录,请把 dede/ 改成您系统的后台目录。打开 dede/catalog_add.php 大概在第 65 行,在$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename, 后面加上
typeimg, 即为$queryTemplate = "INSERT INTO `#@__arctype`(reid,topid,sortrank,typename,typeimg,VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~',
'~typeimg~', 即为VALUES('~reid~','~topid~','~rank~','~typename~','~typedir~','~typeimg~', 大概第 228 行,$in_query = "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', 即为VALUES('$reid','$topid','$sortrank','$typename','$typedir','$typeimg',打开 catalog_edit.php 大概在 43 行
typedir='$typedir', 下面加上 typeimg='$typeimg', 大概在 137 行 typeimg='$typeimg', 下面加上 typename='$typename',打开 include/arc.archiver.class.php 大概在 77 行$query = "SELECT arc.*,tp.reid,tp.typedir, 后面加上
tp.typeimg, 即为$query = "SELECT arc.*,tp.reid,tp.typedir,tp.typeimg,至此,程序部分的修改意见完成。接下来修改模版部分。打开dede/templets/catalog_add.htm 大概在 499 行后面加上
&td height="65" style="padding-left:10"&栏目图片:&/td&
&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="SelectTemplets('form1.typeimg&activepath=%2Ftemplets%2Ftypeimg&img=yes');" /&&150px × 90px (栏目模板里用{dede:field.typeimg /}调用)
打开dede/templets/catalog_edit.htm 大概在 406 行后面加上
&td height="65" style="padding-left:10"&栏目图片:&/td&
&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="SelectTemplets('form1.typeimg&activepath=%2Ftemplets%2Ftypeimg&img=yes');" /&&150px × 90px (栏目模板里用{dede:field.typeimg /}调用)
&/tr&补上js &script type="text/javascript" src="js/main.js"&&/script&
&td height="65" style="padding-left:10"&栏目图片:&/td&
&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')" /&(栏目模板里用{dede:field.typeimg /}调用)
保存之后,栏目模板里用{dede:field.title
/}调用即可。
给DEDECMS 栏目添加图片的方法
第一步:打开DEDE后台:系统》SQL命令行工具》 右侧 选择单行命令(支持简单查询),然后执行以下语句:
ALTER TABLE `dede_arctype` ADD `arcpic` VARCHAR( 200 ) NULL 第二步:打开include》taglib》channel.lib.php
文件,找到第80行 将字段arcpic 添加上;红色字体是添加的字段;如以下代码,
if($type=='top')
$sql = "SELECT
id,typename,arcpic,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid=0 And ishidden&&1 order by sortrank asc limit 0, $line ";
else if($type=='son')
if($typeid==0) return '';
$sql = "SELECT
id,typename,arcpic,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
From `#@__arctype` WHERE reid='$typeid' And ishidden&&1 order by sortrank asc limit 0, $line ";
else if($type=='self')
if($reid==0) return '';
$sql = "SELECT
id,typename,arcpic,typelitpic,typedir,isdefault,ispart,defaultname,namerule2,moresite,siteurl,sitepath
FROM `#@__arctype` WHERE reid='$reid' And ishidden&&1 order by sortrank asc limit 0, $line ";
三、首页调用:
{dede:channel typeid='3' row='6'}
&li&&a href="[field:typelink/]" target="_blank"&&img src="[field:arcpic/]"
alt="[field:typename/]" width="135" height="95" /&[field:typename/]&/a&&/li&
{/dede:channel}
列表页调用 :{dede:field.arcpic/}
请下载后台模板文件,覆盖到根目录下;
没有更多推荐了,
加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!怎样实现给DEDE的栏目增加栏目图片_百度知道
怎样实现给DEDE的栏目增加栏目图片
我有更好的答案
栏目模板增加调用{dede:field.content/}内容在后台-核心-栏目-更改里给栏目内容栏添加一个图片,图文都可以更新栏目就可以看了
采纳率:78%
来自团队:
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 dedecms获取栏目名称 的文章

 

随机推荐