一个兢兢业业、无微不至的保姆。你用自己的一只手——雪,把那青绿的麦苗爱抚地搂在怀里,给他以温暖和关怀。麦苗在那层层棉被下静静地期待,期待着来春生长发育。蛇、鳝、熊等等,有的钻进了深泥,有的藏入树洞,休息一冬,养精蓄锐,方有新春来到时的精神振奋。你用自己的另一只手――寒风,举刀挥剑,把那些残害农作物的害虫,砍光杀尽,把那些残害人类、牲畜的虎豹豺豺狼驱赶进深山老林。冬呵!你严守阵地,不容侵犯;你,是一位最负责任的对友火热温情,对敌残忍无情的好保姆。
在dede的博客空间中,spacenewart标签只能调用频道的内容,不能调用特定栏目的文章,不能调用附加表字段,功能有限。
现修改spacenewart标签的文件include\tpllib\plus_spacenewart.php
以实现如下功能:可以调用特定栏目的文章,可以调用附加表的字段。
include\tpllib\plus_spacenewart.php 修改后的代码如下:
<?php if(!defined('DEDEINC')) exit('Request Error!');
/**
* 动态dedecms模板spacenewart标签
*
* @version $Id: plus_spacenewart.php 1 13:58 2010年7月5日Z tianya $
* @package DedeCMS.Tpllib
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
function plus_spacenewart(&$atts,&$refObj,&$fields)
{
global $dsql,$_vars;
$attlist = "channel=1,titlelen=40,infolen=200,row=8,imgwidth=120,imgheight=90";
FillAtts($atts,$attlist);
FillFields($atts,$fields,$refObj);
extract($atts, EXTR_OVERWRITE);
//获取附加表信息
//$addfield ='fengge';
$addfield =trim($addfields);
//echo $addfield;
$addfieldsSql = '';
$addfieldsSqlJoin = '';
if($addfield != '' && !empty($channel))
{
$row2 = $dsql->GetOne("SELECT addtable FROM `dede_channeltype` WHERE id='$channel' ");
if(isset($row2['addtable']) && trim($row2['addtable']) != '')
{
$addtable = trim($row2['addtable']);
$addfields = explode(',', $addfield);
$row2['addtable'] = trim($row2['addtable']);
$addfieldsSql = ",addf.".join(',addf.', $addfields);
$addfieldsSqlJoin = " LEFT JOIN `$addtable` addf ON addf.aid = arc.id ";
}
}
$query = "Select arc.*,mt.mtypename,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,
tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath $addfieldsSql
from `dede_archives` arc
left join `dede_arctype` tp on arc.typeid=tp.id
left join `dede_mtypes` mt on mt.mtypeid=arc.mtype $addfieldsSqlJoin
where arc.mid='{$_vars['mid']}' and arc.channel=$channel and arc.ismake='1' and arc.typeid in ($typeid)
order by id desc limit 0,$row";
//echo $query;
$dsql->SetQuery($query);
$dsql->Execute("al");
$artlist = '';
$rearr = array();
$i=1;
while($row = $dsql->GetArray("al"))
{
//处理一些特殊字段
$row['i']=$i;
$i=$i+1;
$row['infos'] = cn_substr($row['description'],$infolen);
$row['id'] = $row['id'];
$row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
$row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
$row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],
$row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);
if($row['litpic']=='')
{
$row['litpic'] = '/images/defaultpic.gif';
}
if(!preg_match("#^http:\/\/#i", $row['litpic']))
{
$row['picname'] = $row['litpic'] = $GLOBALS['cfg_cmsurl'].$row['litpic'];
}
else
{
$row['picname'] = $row['litpic'] = $row['litpic'];
}
$row['stime'] = GetDateMK($row['pubdate']);
$row['typelink'] = "<a rel="nofollow noopener noreferrer" href='".$row['typeurl']."'>".$row['typename']."</a>";
$row['image'] = "<img src='".$row['picname']."' border='0' width='$imgwidth' height='$imgheight' alt='".preg_replace("#['><]#", "", $row['title'])."'>";
$row['imglink'] = "<a rel="nofollow noopener noreferrer" href='".$row['filename']."'>".$row['image']."</a>";
$row['fulltitle'] = $row['title'];
$row['title'] = cn_substr($row['title'],$titlelen);
if($row['color']!='') {
$row['title'] = "<font color='".$row['color']."'>".$row['title']."</font>";
}
if(preg_match('#b#', $row['flag']))
{
$row['title'] = "<strong>".$row['title']."</strong>";
}
//$row['title'] = "<b>".$row['title']."</b>";
$row['textlink'] = "<a rel="nofollow noopener noreferrer" href='".$row['filename']."'>".$row['title']."</a>";
$row['plusurl'] = $row['phpurl'] = $GLOBALS['cfg_phpurl'];
$row['memberurl'] = $GLOBALS['cfg_memberurl'];
$row['templeturl'] = $GLOBALS['cfg_templeturl'];
//$row['fengge'] = $row['fengge'];
$rearr[] = $row;
}//loop line
$dsql->FreeResult("al");
return $rearr;
}
|
功能拓展后的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}
|
其中name,shengshi,nianling字段为附加表字段,typeid='29'指定栏目,channel='18'指定频道。
到此这篇关于dedecms会员中心空间中,spacenewart标签功能的拓展就介绍到这了。幽默就是一个人想哭的时候还有笑的兴致。更多相关dedecms会员中心空间中,spacenewart标签功能的拓展内容请查看相关栏目,小编编辑不易,再次感谢大家的支持!