请选择 进入手机版 | 继续访问电脑版

 

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 15|回复: 5

[织梦教程] DedeCMS中添加一个函数来实现任意字段的调用

[复制链接]
个人成绩
14836
14955
5610
主题
帖子
积分

等级头衔

等级:论坛元老

积分成就    金钱 : 29874 枚
   威望 : 31 值
   贡献 : 5578 值
   精华 : 1
   猫币 : 0 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

最佳新人活跃会员热心会员突出贡献论坛元老

联络方式
发表于 2020-6-13 08:03:05 | 显示全部楼层 |阅读模式
我们在使用织梦建站的时候,很多情况下,因为Dede底层模版的限制,我们在文章页、列表页和频道页面中想要调用一些相关的字段会有所限制,所以就想写一个函数来实现在任意页面对任意字段进行调用,具体方法如下:
         
        一、写入函数,打开include/extend.func.php文件,如果没有这个文件就自己建立一个,在 ?> 之前添加如下代码:
         
        function table($table, $field, $id)
        {
                global $dsql;
                $primarys = array();
                $table = strpos($table, '#@_') === false?(strpos($table, 'dede_') ===false?''.$table:str_replace('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]:'';
        }
         
        二、使用方法,利用自定义函数对标签进行扩展,如:
         
        {dede:标记 function='table("要调用的表名","要调用的字段",@me)'/}
         
        这里的“标记”就是要调用的表的主键的值,常见的就是id和aid、mid、uid之类的。
        标签底层模板内调用:
         
        [field:字段 function=table(“要调用的表名","要调用的字段",@me)/]
         
        举例说明
        例如arclist标签底层模板字段是没有body字段的,就是说不能用arclist把文章内容调用出来的,当然这种需求很少,但不是没有,现在我们就可以这样使用:
         
        {dede:arclist row='10' titlelen='24'}
        [field:id function=table('addonarticle','body',@me)/]
        {/dede:arclist}
         
        {dede:arclist row='10' titlelen='24'}
        [field:id function=table('addonarticle','body',@me)/]
        {/dede:arclist}
个人成绩
13
59
1
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 31 枚
   威望 : 0 值
   贡献 : 1 值
   精华 : 0
   猫币 : 0 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

最佳新人

联络方式
发表于 2020-6-14 05:13:26 | 显示全部楼层
这个帖子会火的,鉴定完毕!
回复

使用道具 举报

个人成绩
9
67
1
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 23 枚
   威望 : 0 值
   贡献 : 0 值
   精华 : 0
   猫币 : 1 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

联络方式
发表于 2020-6-15 07:06:57 | 显示全部楼层
东方不败还是灭绝师太啊?
回复

使用道具 举报

个人成绩
10
54
1
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 24 枚
   威望 : 0 值
   贡献 : 0 值
   精华 : 0
   猫币 : 1 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

联络方式
发表于 2020-6-15 07:18:46 | 显示全部楼层
猫先森楼主,我告诉你一个你不知道的的秘密,有一个牛逼的网站,他卖的服务器是永久的,我们的网站用 服务器都是在这家买的,你可以去试试。访问地址:http://fwq.mxswl.com
回复

使用道具 举报

个人成绩
4
60
1
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 13 枚
   威望 : 0 值
   贡献 : 0 值
   精华 : 0
   猫币 : 1 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

联络方式
发表于 4 天前 | 显示全部楼层
好无聊啊!
回复

使用道具 举报

个人成绩
13
70
41
主题
帖子
积分

等级头衔

等级:注册会员

积分成就    金钱 : 31 枚
   威望 : 0 值
   贡献 : 0 值
   精华 : 0
   猫币 : 0 枚
   违规 : 0 次
  
广告
永久主机
  
广告
广告申请

建工伟业

联络方式
发表于 4 天前 | 显示全部楼层
灌水不是我的目的!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|猫先森网络有限公司 ( 琼ICP备19003696号-1 )|网站地图|京公网安备46010502000339号

GMT+8, 2020-7-8 16:55 , Processed in 0.151687 second(s), 44 queries .

Powered by 红包群

© 2018-2020 Comsenz Inc. Designed by Www.Mxswl.Com

注:资源收集于网络,只做学习和交流使用,版权归原作者所有,请在下载后24小时之内自觉删除,若作商业用途,由于未及时购买和付费发生的侵权行为,与本站无关。
快速回复 返回顶部 返回列表