找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 168|回复: 0

[cms教程] DedeCMS使用扩展函数调用任意数据表的方法

[复制链接]

该用户从未签到

发表于 2021-4-18 11:00:24 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
织梦模板系统有一个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)'/}
                       
               
       

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

使用道具 举报

网站地图|页面地图|文字地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2024-10-9 23:12

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表