织梦模型字段的调用分析

首先要搞明白,什么是模型字段,就是我们在后台内容模型管理更改内容模型,这个里面添加的字段,以软件模型为例子,如下图所示。 在前台调用这个些字段,非常容易,例如,在内容页调用只需要用标签{dede:field.filetype/}这样就可以了,如果在首页调用,只需
  首先要搞明白,什么是模型字段,就是我们在后台——>内容模型管理——>更改内容模型,这个里面添加的字段,以软件模型为例子,如下图所示。

织梦添加字段

  在前台调用这个些字段,非常容易,例如,在内容页调用只需要用标签{dede:field.filetype/}这样就可以了,如果在首页调用,只需要用这个标签{dede:arclist addfields="filetype" channelid=3 typeid=''}{/dede:arclist}调

用,就可以了,这还有什么好说的,但是今天我要说的是不是简单的这些调用。

  例如织梦基地网站的筛选功能,如下图所示。



  如果用类似上面的标签,来自动调用出我们后台添加的字段,来实现这个功能是调用不出来的,目前,织梦只能调用站长添加的字段的值,没有现成的标签来做同上面的功能来,这就用到了织梦的模板引擎里面的标签了。

  若想调用出,并带上连接,那么,就要从这个内容模板里面的字段配置里面调用出来,然后,再在“文档列表类”里面进行修改,这样就实现了织梦基地上面的功能了,也许会有人问这个功能是不是也是用一个标签来实现的,是的,只不过是自定义标签,自己写的。

  去修改“文档列表类”不是本篇重点,要写个这个需要你php知道,也不是多么难,本篇主要介绍,上一部分,如果把这些字段,取出来,然后,再与文档列表类进行整合,实际上这二个部分,功能互相不干涉,一个是实现筛选,一个是调出我们自己定义标签。

  如何调用出呢?我们只需要知道这些字段存储在哪里,实际上这里面的字段,肯定在模型里面,我们从如何添加字段,就可以看出,是进入到内容模型管理,才可以添加字段,那么,我们找到对应的数据库表#@_channeltype,里面字段fieldset 对应的值就是我们后台添加的字段,以及每个字段的相关信息,例如字段的类型,字段的itemname属性等。

  这些字段,只是在这个模型表dede_channeltype里面以上面的这种字段串的形容存在,这些字段,以真正的字段存在是在对应的附加表里面,例如软件的附加表dede_addonsoft打开这个表,你会发现,我们后台添加的字段,就是这个附加表里面的字段。从这里我们就知道,当我们添加字段时,字段会以字符串形式,把存储在模型表dede_channeltype里面的字段fieldset里面,同时,把对应的字段,以真正的字段存储在对应的附加表dede_addonsoft里面。

  通过上面的分析我们知道了,如果调用出筛选的那些字段值,只需要,从模型表调用来,然后,通过织梦模板引擎把fieldset值进行foreach就可以循环出来,分析到这里,那就容易了。

  这里要分前台调用和后台调用二种:前台就是织梦基地的筛选功能,而后台例如软件添加后,生成静态网页时用到的调用分析。这二种调用实际上是一样的,都是通过静态模板引擎dedetag.class.php来实现的。具体实现代码,我总结了一下,以下代码,只是步骤,为了演示方便,有些代码我已经删掉。

  1.从数据库表#@_channeltype里面查询出字段fieldset的值。

  2.引入静态模板引擎文件dedetag.class.php实例化对象,载入模板字段串(也就是fieldset值,因为,他是字段串形式存在于数据库表#@_channeltype里面的),把里面的标记,例如,fieldtype,标记的名称循环出来。代码如下。

      $dtp = new DedeTagParse();
    $dtp->SetNameSpace('field','<','>');
    $dtp->LoadSource($fieldset);
    $dede_addonfields = '';
    if(is_array($dtp->CTags))
    {
        foreach($dtp->CTags as $tid=>$ctag)
        {
            if($loadtype!='autofield'
            || ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1) )
            {
                $dede_addonfields .= ( $dede_addonfields=="" ? $ctag->GetName().",".$ctag->GetAtt('type') : ";".$ctag->GetName().",".$ctag->GetAtt('type') );
                echo  GetFormItemA($ctag);
            }
        }
    }

  如果大家想研究的话,请去研究一下软件发布的功能,那个软件发布功能就是一个非常好的例子。如果把这个功能研究透彻了,那么,不管你调用附加表内容都非常容易了。

  以上分析的都是织梦二次开发需要,搞明白的,如果你做二次开发完,就是一个普通站长只学学标签调用即可,如果你想做一名织梦二次开发人员,那么,上面的内容必须精通,研究这个需要相当的php基地知识,所以,在大家研究这个功能前,要先学习一个php的基本知识。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!
  • 上一篇:织梦添加文章生成静态网页概述 下一篇:自定义织梦文章置顶及其功能原理分析

相关文档推荐

dedecms织梦无需登录注册可下单购买的修改
dedecms织梦无需登录注册可下单购买的修改,首先找到/plus/carbuaction.php文件,找到如下代码: //确认用户登录信息if($cfg_ml-IsLogin()){ $userid = $cfg_ml-M_ID;}else{ $username = trim($username); $password = trim($password); if(empty($username)
织梦dedecms注册会员列表常用sql分析
用过织梦dedecms的人都知道,织梦会员系统相当强大,跟论坛程序差不多,对于使用会员系统的人来说,织梦系统足够用的了,但是,有时候,织梦系统很多的地方又不是我们所希望,或都说,有的地方不适合我们使用,这时候就要对织梦会员系统进行二次开发,所以,
dedecms怎么在注册会员页面增加一个字段
我们在用到织梦dedecms的会员功能时候,注册页面的注册项需要增加,比如想多加一个手机号的字段,需要怎么操作呢?下面我们以增加一个手机号的字段为例子 1、找到网站目录下的/member/templets/reg-new.htm,在合适位置增加一行表单,代码如下: lispan手机
dedecms织梦artlist和list标签调用图集图片实现方法
我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ
织梦模板中隐藏指定字段仅对会员显示
大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是织梦开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.p
dedecms织梦会员登录二级域名跨域不能获取数据的解决办法
大家在使用织梦的时候,用到会员中心可能涉及到多二级域名同步登录退出的问题,涉及到跨域,那么这个问题该如何解决呢?在一个技术大牛博客看到过此教程,特此转发分享给大家,解决大家问题。 首先打开 \include\dedeajax2.js 找到 DedeXHTTP = new XMLHttpR
织梦安装使用 织梦二次开发 织梦优化 织梦标签 dedecms教程 织梦安全
  • • 织梦导航栏的调用方法之顶级栏目、二...
  • • dedecms模板中运用dede标签时使用php...
  • • dede织梦如何设置绑定二级域名...
  • • dede实现手机wap浏览...
  • • 织梦dede后台 服务器左侧菜单空白或...
  • • 织梦DEDECMS在软件列表页调出下载链...
  • • dedecms的uploads和data目录data/com...
  • • DedeCMS修改模板默认CSS文件分析全过...
  • • dede图片采集规则的编写方法...
  • • dede评论功能游客可以对文章进行评论...
  • • 织梦DEDECMS后台所有文章列表显示不...
  • • 使用dedecms自带采集功能的文字过滤...
  • • 织梦导航栏的调用方法之顶级栏目、二...
  • • dedecms模板中运用dede标签时使用php...
  • • dede织梦如何设置绑定二级域名...
  • • dede实现手机wap浏览...
  • • 织梦dede后台 服务器左侧菜单空白或...
  • • 织梦DEDECMS在软件列表页调出下载链...
  • • dedecms的uploads和data目录data/com...
  • • DedeCMS修改模板默认CSS文件分析全过...
  • • dede图片采集规则的编写方法...
  • • dede评论功能游客可以对文章进行评论...
  • • 织梦DEDECMS后台所有文章列表显示不...
  • • 使用dedecms自带采集功能的文字过滤...
织梦资讯网 织梦模板 dede 外语学校 织梦鬼故事 竞价网站源码 竞价培训网 门户网站 织梦二次开发 织梦笑话网 dedecms笑话网 织梦源码 网站建设 搞笑图片 织梦教程 旅游网站源码 织梦旅游网 学校培训 html5 企业织梦源码 医院源码 后台样式 移动营销页 整形医院 大学医院 新手建站 客服代码 洗衣机维修 企业网站 淘宝客 导航菜单 教育网站 学校源码 装修网站 装修模板 美容整形 女性健康 妈妈网 机械源码 建站公司 珠宝首饰 苹果网站 手机资讯 美女图片 织梦模版打包 妇科源码 安卓市场源码 男性时尚网 健康之家 app应用网站 笑话网站 下载站 美女图片网 中医院网站 家装网站源码 QQ网站 标牌网站 魔兽世界网 淘宝客源码 YY网站源码 别墅设计网站 服装搭配网 宝宝起名网 站长网站 婚庆网站 脑科医院源码 笑话源码 肝胆医院 意外怀孕源码 工作室

代做工资流水公司沈阳打印企业贷流水淮安查询银行流水账单北京对公银行流水报价扬州车贷工资流水 开具唐山房贷银行流水 图片蚌埠办理企业贷流水邢台开企业流水打印青岛消费贷流水代开打消费贷流水珠海银行流水单办理桂林办理工资银行流水北京代开入职流水杭州打对公流水昆明打印薪资流水莆田制作背调流水岳阳车贷工资流水 样本郑州办理房贷银行流水赣州打印个人银行流水赣州对公银行流水代开吉林银行流水查询洛阳银行流水PS查询烟台查签证工资流水孝感房贷银行流水 公司海口代做工资流水邢台办理公司银行流水南通工资流水账单西宁企业对公流水费用温州制作银行流水账单珠海入职流水查询宿迁制作工资银行流水香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

代做工资流水公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化