加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > CMS系统 > Dedecms > 正文

DedeCMS使用扩展函数调用任意数据表的方法

发布时间:2020-12-14 04:39:41 所属栏目:Dedecms 来源:网络整理
导读:织梦系统有一个extend.func.php文件,我们可以在里面写上自定义函数来实现自己想要的功能,比如今天我们要实现扩展函数来调用Dede的任意一个数据表的内容。 首先修改 /include/extend.func.php ,里面的把这段代码加进去: //自定义函数调用数据表? ?? ? ? fu

织梦系统有一个extend.func.php文件,我们可以在里面写上自定义函数来实现自己想要的功能,比如今天我们要实现扩展函数来调用Dede的任意一个数据表的内容。

首先修改/include/extend.func.php,里面的把这段代码加进去:


//自定义函数调用数据表? ??
? ? function table($table,$field,$id)
? ? ? {
? ? ? global $dsql;
? ? ? $primarys = array();
? ? ? $table = strpos($table,?'#@_') ===?false?(strpos($table,143);">'dede_') ===?false?'dede_'.$table:str_replace('dede_', ? ? ? $dsql -> Execute("me",143);">"SHOW COLUMNS FROM `$table`");
? ? ??while?($r = $dsql->GetArray())
? ? ? {
? ? ? ? ??if($r['Key'] ==?'PRI') $primarys[] = $r['Field'];
? ? ? ? ? ? ? }
? ? ? ? ??if(!empty($primarys))
? ? ? ? ? ? ? {
? ? ? ? ? $primary = $primarys[0];
? ? ? ? ? $result = $dsql -> GetOne("SELECT `$field` FROM `$table` WHERE `$primary`= $id");
? ? ? ? ? ? ? }
? ? ? ? ? ??return?isset($result[$field])?$result[$field]:$result[$field];
? ? ? ? ? }
?

然后在我们需要调用数据的地方加上调用代码:


{dede:field.字段 function='table("要调用的数据表","要调用的字段",@me)'/}?//内容页,首页调用代码
[field:字段 function='table("要调用的表名",@me)'/]?//列表页频道页调用代码
?

举例说明:


{dede:field.id function='table("dede_addonarticle","body",@me)'/}
?

释义:调用id为本文id的文章的body部分。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读