织梦根据字段指定的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>";