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

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部分。

免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。