魔扣论坛

魔扣源码论坛业务
查看: 493|回复: 3

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

[复制链接]
  • TA的每日心情
    难过
    17 小时前
  • 签到天数: 2929 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745005
    贡献
    157749
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2019-6-22 16:18:05 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

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

    x
    我们在使用织梦建站的时候,很多情况下,因为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}

    还有很多作用,如type标签调用栏目简介,等等,大家自己去挖掘吧。

    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    2

    主题

    226

    回帖

    454

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    226
    贡献
    226
    威望
    0
    发表于 2019-6-22 16:25:17 来自手机 | 显示全部楼层
    确实不错,顶先

    该用户从未签到

    3

    主题

    219

    回帖

    441

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    219
    贡献
    219
    威望
    0
    发表于 2019-10-13 18:30:31 | 显示全部楼层
    风,吹着想念;云,裹着爱恋;山,藏着真心;水,流着柔情;雨,飘着浪漫;雾,漫着赤诚;您,怀着温馨;我,揣着思念;魔扣源码论坛祝愿我的好朋友天天开心快乐!

    该用户从未签到

    3

    主题

    244

    回帖

    491

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    244
    贡献
    244
    威望
    0
    发表于 2020-3-8 10:39:40 来自手机 | 显示全部楼层
    向楼主学习
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表