织梦根据字段指定的id获取文章教程:
本代码只支持文章模型,如果是其他模型需要自行修改表名称。
打开/include/helpers/extend.helper.php文件,在结尾增加如下代码:
// 获取指定id
if(!function_exists('getarc'))
{
function getarc($aid,$field)
{
global $dsql;
if(empty($aid) || empty($field)){ return '';}
//获取指定字段值
$row = $dsql->GetOne("SELECT $field FROM `#【分隔符】@__addonarticle` WHERE aid = '$aid'");
$idlist= $row["$field"];
$resualt='';
if($idlist != '')
{
$query = "SELECT arc.*,tp.* FROM `#【分隔符】@__archives` arc left join `#【分隔符】@__addonarticle` tp on arc.id=tp.aid WHERE arc.id in($idlist) ORDER BY arc.id ";
$dsql->Execute('me',$query);
while($rs = $dsql->GetArray('me'))
{
$url = GetOneArchive($rs['id']) ;
$resualt .="<dl><dt><a href='".$url['arcurl']."'>".$rs['title']."</a></dt><dd>".cn_substr($rs['body'],230)."</dd></dl>";
}
}
return $resualt;
}
}
请手动去掉上面代码中的【分隔符】,添加完成后在模板中用下面的标签调用:
{dede:field.id function="getarc(@me,field)"/}
其中field为自己建立的字段名,调用返回数据的格式修改此句
$resualt .="<dl><dt><a href='".$url['arcurl']."'>".$rs['title']."</a></dt><dd>".cn_substr($rs['body'],230)."</dd></dl>";
在线客服