dedecms会员中心空间中,spacenewart标签功能的拓展

资源来源网络,如需授权,请更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务,积分不够请签到!如何签到?系统升级暂停签到,恢复关注公告!
如遇下载链接蓝奏网盘打不开lanzous替换成lanzoux尝试! 广告

dede的博客空间中,spacenewart标签只能调用频道的内容,不能调用特定栏目的文章,不能调用附加表字段,功能有限。

现修改spacenewart标签的文件include\tpllib\plus_spacenewart.php

以实现如下功能:可以调用特定栏目的文章,可以调用附加表的字段。

include\tpllib\plus_spacenewart.php 修改后的代码如下:

<?php if(!defined(‘DEDEINC’)) exit(‘Request Error!’);
002

003
/**
004
* 动态dedecms模板spacenewart标签
005
*
006
* @version $Id: plus_spacenewart.php 1 13:58 2010年7月5日Z tianya $
007
* @package DedeCMS.Tpllib
008
* @copyright Copyright (c) 2007 – 2010, DesDev, Inc.
009
* @license http://help.dedecms.com/usersguide/license.html
010
* @link http://www.dedecms.com
011
*/
012

013

014
function plus_spacenewart(&$atts,&$refObj,&$fields)
015
{
016
global $dsql,$_vars;
017

018
$attlist = “channel=1,titlelen=40,infolen=200,row=8,imgwidth=120,imgheight=90″;
019
FillAtts($atts,$attlist);
020
FillFields($atts,$fields,$refObj);
021
extract($atts, EXTR_OVERWRITE);
022

023
//获取附加表信息
024
//$addfield =’fengge’;
025
$addfield =trim($addfields);
026
//echo $addfield;
027
$addfieldsSql = ”;
028
$addfieldsSqlJoin = ”;
029
if($addfield != ” && !empty($channel))
030
{
031
$row2 = $dsql->GetOne(“SELECT addtable FROM `dede_channeltype` WHERE id=’$channel’ “);
032
if(isset($row2[‘addtable’]) && trim($row2[‘addtable’]) != ”)
033
{
034
$addtable = trim($row2[‘addtable’]);
035
$addfields = explode(‘,’, $addfield);
036
$row2[‘addtable’] = trim($row2[‘addtable’]);
037
$addfieldsSql = “,addf.”.join(‘,addf.’, $addfields);
038
$addfieldsSqlJoin = ” LEFT JOIN `$addtable` addf ON addf.aid = arc.id “;
039
}
040
}
041
$query = “Select arc.*,mt.mtypename,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,
042
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath $addfieldsSql
043
from `dede_archives` arc
044
left join `dede_arctype` tp on arc.typeid=tp.id
045
left join `dede_mtypes` mt on mt.mtypeid=arc.mtype $addfieldsSqlJoin
046
where arc.mid='{$_vars[‘mid’]}’ and arc.channel=$channel and arc.ismake=’1′ and arc.typeid in ($typeid)
047
order by id desc limit 0,$row”;
048
//echo $query;
049
$dsql->SetQuery($query);
050
$dsql->Execute(“al”);
051
$artlist = ”;
052
$rearr = array();
053
$i=1;
054
while($row = $dsql->GetArray(“al”))
055
{
056
//处理一些特殊字段
057
$row[‘i’]=$i;
058
$i=$i+1;
059
$row[‘infos’] = cn_substr($row[‘description’],$infolen);
060
$row[‘id’] = $row[‘id’];
061

062
$row[‘arcurl’] = GetFileUrl($row[‘id’],$row[‘typeid’],$row[‘senddate’],$row[‘title’],$row[‘ismake’],
063
$row[‘arcrank’],$row[‘namerule’],$row[‘typedir’],$row[‘money’],$row[‘filename’],$row[‘moresite’],$row[‘siteurl’],$row[‘sitepath’]);
064

065
$row[‘typeurl’] = GetTypeUrl($row[‘typeid’],$row[‘typedir’],$row[‘isdefault’],$row[‘defaultname’],$row[‘ispart’],
066
$row[‘namerule2’],$row[‘moresite’],$row[‘siteurl’],$row[‘sitepath’]);
067

068
if($row[‘litpic’]==”)
069
{
070
$row[‘litpic’] = ‘/images/defaultpic.gif’;
071
}
072
if(!preg_match(“#^http:\/\/#i”, $row[‘litpic’]))
073
{
074
$row[‘picname’] = $row[‘litpic’] = $GLOBALS[‘cfg_cmsurl’].$row[‘litpic’];
075
}
076
else
077
{
078
$row[‘picname’] = $row[‘litpic’] = $row[‘litpic’];
079
}
080
$row[‘stime’] = GetDateMK($row[‘pubdate’]);
081
$row[‘typelink’] = “<a href='”.$row[‘typeurl’].”‘>”.$row[‘typename’].”</a>”;
082
$row[‘image’] = “<img src='”.$row[‘picname’].”‘ border=’0′ width=’$imgwidth’ height=’$imgheight’ alt='”.preg_replace(“#[‘><]#”, “”, $row[‘title’]).”‘>”;
083
$row[‘imglink’] = “<a href='”.$row[‘filename’].”‘>”.$row[‘image’].”</a>”;
084
$row[‘fulltitle’] = $row[‘title’];
085
$row[‘title’] = cn_substr($row[‘title’],$titlelen);
086
if($row[‘color’]!=”) {
087
$row[‘title’] = “<font color='”.$row[‘color’].”‘>”.$row[‘title’].”</font>”;
088
}
089
if(preg_match(‘#b#’, $row[‘flag’]))
090
{
091
$row[‘title’] = “<strong>”.$row[‘title’].”</strong>”;
092
}
093
//$row[‘title’] = “<b>”.$row[‘title’].”</b>”;
094

095
$row[‘textlink’] = “<a href='”.$row[‘filename’].”‘>”.$row[‘title’].”</a>”;
096

097
$row[‘plusurl’] = $row[‘phpurl’] = $GLOBALS[‘cfg_phpurl’];
098
$row[‘memberurl’] = $GLOBALS[‘cfg_memberurl’];
099
$row[‘templeturl’] = $GLOBALS[‘cfg_templeturl’];
100

101
//$row[‘fengge’] = $row[‘fengge’];
102

103
$rearr[] = $row;
104
}//loop line
105
$dsql->FreeResult(“al”);
106
return $rearr;
107
}

功能拓展后的spacenewart标签使用示例如下:
{dede:spacenewart row=1 titlelen=60 typeid=’29’ channel=’18’ addfields=’name,shengshi,nianling’ }

<table width=”220″ border=”0″ cellspacing=”0″ cellpadding=”0″>
<tr>
<td height=”28″ align=”left” valign=”middle”>姓名:<font color=”#0041D9″>{dede:field.name/}</font></td>
</tr>
<tr>
<td height=”28″ align=”left” valign=”middle”>籍贯:<font color=”#0041D9″>{dede:field.shengshi/}</font></td>
</tr>
<tr>
<td height=”28″ align=”left” valign=”middle”>年龄:<font color=”#0041D9″>{dede:field.nianling/}</font></td>
</tr>
</table>

{/dede:spacenewart}

©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
风格酷模板网 » dedecms会员中心空间中,spacenewart标签功能的拓展
NOTICE:【咨询风格酷】客服QQ:1131734965
NOTICE:【咨询风格酷】客服微信:wwwxmamnet
NOTICE:【风格酷模板网②群】QQ群:288678775
☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服
☉如有其他问题,请加网站客服QQ(1131734965)进行交流。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。

发表评论

风格酷模板网www.xmam.net分享优质网站模板

立即查看 了解详情