织梦使用扩展函数调用织梦任意数据表的高阶教程

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

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

//自定义函数调用数据表 function table($table, $field, $id) { global $dsql; $primarys = array(); $table = strpos($table, '#@_') === false?(strpos($table, 'dede_') === false?'dede_'.$table:str_replace('dede_','dede_',$table)):$table; $dsql -> Execute("me","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)'/}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/1502a79d2ef543c9e04caf8b4d65f8be.html