A-A+

织梦dedecms根据指定字段获取附加表的值

2014年11月25日 14:27 汪洋大海 暂无评论 阅读 213 views 次

效果:可以在列表标签内以及文章标签内任意调用指定的字段

通常情况下,我们自己新增的有些字段是添加到附加表,某些标签内无法调用这些内容,如果修改PHP文件的话需要一定的了解和基础,为简化调用写了这个方法,因为是添加到了小助手函数库中,所以此方法可以全局使用,使用只需指定文档id以及字段名称即可。
修改include\helpers\extend.helper.php
在结尾增加:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 获取指定字段值 author
if(!function_exists('getaddon'))
{
    function getaddon($aid,$field)
    {
         global $dsql;
         if(empty($aid) || empty($field)){ return '';}
         $arr = $dsql->GetOne("SELECT arc.channel,channel.addtable FROM `#@__arctiny` arc LEFT JOIN   `#@__channeltype` channel ON channel.id = arc.channel WHERE arc.id = '$aid' ");
         $addtable = $arr['addtable'];
         //获取指定字段值
         $row = $dsql->GetOne("SELECT $field FROM $addtable  WHERE aid = '$aid'");
         $resualt= $row["$field"];
         return $resualt;
    }
}

模板中arclist标签或者list标签内用[field:id function="getaddon(@me,field)"/]来调用
@me代表本身的值,这里是获取文档的id
field为字段名,必须改成自己需要获取的字段名称。
原理:利用id查询微表获取内容模型的附加表,再根据指定的字段来查询,最后返回所需数据。

标签:

给我留言