很多时候小编在想:如果织梦DEDEcms有个函数能实现在任意页面调用任意数据表就完美了。有了想法我们就去想办法实现
一、首先修改/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)'/}
调用id为本文id的文章的body部分。
以上就是织梦DedeCMS使用extend.func.php扩展函数调用任意数据表的方法【荐】的全部内容,希望对大家的学习和解决疑问有所帮助。