各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案各类知识收集,PHP技术分享与解决方案

Str Tom,为分享PHP技术和解决方案,贡献一份自己的力量!
收藏本站(不迷路),每天更新好文章!
当前位置:首页 > CMS教程 > dedecms

dedecms中自定义数据模型

管理员 2016-08-14
dedecms
122

       刚学习完dedecms的标签语法,我有很多困惑,觉得标签的意义比较抽象,不知道如何用标签来写一些具体的内容。如果有一些数据库的编程经验,就知道一个很常用的编程范例—增删改查。比如说,我要建立的是书本的模型,有索书号,书名,类型……,之后要写一个网页来完成书本信息的增删改查,这篇文章主要解决这种问题。

一频道(内容模型)

       我很长时间弄不清频道和栏目的区别。从网上找了一些解释如下:

       栏目就是网站中导航划分出的模块,如百度中的新闻、网页、贴吧等就是栏目。

       频道是栏目的类型。官方的定义是:频道指内容模型,网站的栏目都是基于不同的模型建立的。也就是说一个频道还可以衍生出多个栏目,一个栏目只对应于一个频道。

       查到了以上定义后,我以为对频道和栏目已有较深刻的认识了。直到我遇到这个问题,“什么时候建立频道,什么时候建立栏目?”

       频道对应于数据模型,当要建立一个新的数据模型,就要建立频道。如书本模型,它和文章模型,图片模型的数据表结构不同。一个新的模型有以下的元素:数据表,增删改代码。

       而栏目是对应于功能而言的,就像百度中的新闻、网页、贴吧,什么时候要添加栏目还是比较明显的。3种模板属于栏目的元素。

       “一个频道还可以衍生出多个栏目”这句话有点虚,实际中网页中的内容都很饱满,每个栏目的内容都可能很不同,除了实用的文章模型外,基本每个频道都为一个栏目而设。

       在dedecms中,有频道>栏目>文章这几个基本的单位。每个单位都会用id号唯一标识,频道(cid,channel id),栏目(tid,type id),文章(aid,article id) 。

二添加模型

       关于添加模型,不妨看下这篇文章。它主要讲操作步骤,我会结合操作讲讲原理。上面提到,一个模型有数据表,增删改代码这两个元素,下面就按这个思路发展。

       点击了“增加新模型”后,会看到表单中的附加表,填dede_addonXX,XX就是前面填写的名字标识。Dedecms中的文章不是指具体的文章,更像是记录。如图片频道中,上传的一张图片就是一个文章。所以一篇文章由两部分组成,其一是基本信息,如作者,发布时间等,记录在dede_archives中,这个表称为主表。每个频道的文章信息,存在附加表中,如图片频道的附加表为dede_addonimages。

       顺便说一下,在模型性质处有独立模型的选项,就是新建立的模型中,文章在dede_archives没有记录。可能见到dede_archives中多余的字段太多,不是每个模型都需要,才有这种设计。独立模型更多叫单表模型,缩写为sg,有专门的sgarclist。现在刚刚接触,就先不理它。

在“增加新模型”的表单提交后,会看到数据库中多了一个dede_addonXX的表,不要急着定义这个表的字段,因为dedecms会辅助我们完成这个过程。

       现在大约来到“这篇文章”的第三点,依次进入 内容模型管理>dede_addonXX的修改>字段管理>添加新字段 就可以为dede_addonXX添加字段了。添加完一个字段提交后后,会回到字段管理的页面,看到“模型字段配置”,是一个代表刚才定义过程的标签,这是手动定义数据库表所没有的。总之,对附加表用该方法添加新字段会更好。

       关于增删改的代码,在前面的档案发布/修改/管理出已经定义了。开始时,用archives_add.php,archives_edit.php和content_list.php。由于dedecms有自动表单功能,所以这个文件基本够用了。自动表单的意思是前面添加新字段时设置的字段,会在add,edit等表单中以控件形式出现,不需用户添加代码。如果觉得不够用,可以参照archives_add.php等DIY一下。

       这样自定义的频道就可以用来生成栏目,像默认栏目一样好用。

       对于增删改,这可能只是主模型的搭建,对于辅助模型也可以参照其他后台管理代码,像分类信息模型中,增加一个地区表。要搞清后台管理,有要费一番功夫。

   增删改功能不仅限于后台,前台也有这些功能。前台就不能用表单这种呆板的提交,可能要用到ajax。可参考系统顶踩功能和评论功能的实现。

三使用模型中的数据

       增删改后还剩下查,这个功能的特点是不用填很多表单。数据的查询一般用标签完成,field,arclist,list及其衍生标签已经覆盖了不少情况。

       在文章模板中能用field标签查询附加表的字段,而在列表模板中,也能通过arclist查询到附加表的字段,如下:

<tr>
{dede:arclist addfields='sjdz,yysj' channelid='1}
<td>商家地址:[field:sjdz/]</td>
<td>营业时间:[field:yysj/]</td>
{/dede:arclist}
</tr>

关键是addfields和channelid,addfields里面是你的自定义字段,channelid如果是普通文章就是1

       当然也有不少情况是不够用的,要自定义标签。可看看下列文章:文章1,文章2

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除! 自定义模型

相关文档推荐

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自动统计当前栏目文档总数方法 SQL语句中,有统计的函数,我们可以通过在织梦中使用SQL语句统计的方法,在列表页内显示该栏目共有多少篇文章。这样做的好处是,有助于提升用 户体验。比如说我一个文章列表下面有10篇文章,就自动统计出10篇,到20篇的时候自动统计成20篇。这样用户对网站的 dedecms织梦artlist和list标签调用图集图片实现方法 我们在做 织梦模板 开发时,有时需要在artlist 和list标签中调用出图集中的图片,同时可以自定调用几张图片。跟版网整理了个一个这样功能的自定义函数。调用后效果如下: dedecms织梦artlist和list标签调用图集图片实现方法 函数代码 请将代码加入到 /includ 织梦模板中隐藏指定字段仅对会员显示 大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是织梦开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.p 织梦安装使用织梦二次开发织梦优化织梦标签dedecms教程织梦安全 织梦资讯网 织梦模板 dede 外语学校 织梦鬼故事 竞价网站源码 竞价培训网 门户网站 织梦二次开发 织梦笑话网 dedecms笑话网 织梦源码 网站建设 搞笑图片 织梦教程 旅游网站源码 织梦旅游网 学校培训 html5 企业织梦源码 医院源码 后台样式 移动营销页 整形医院 大学医院 新手建站 客服代码 洗衣机维修 企业网站 淘宝客 导航菜单 教育网站 学校源码 装修网站 装修模板 美容整形 女性健康 妈妈网 机械源码 建站公司 珠宝首饰 苹果网站 手机资讯 美女图片 织梦模版打包 妇科源码 安卓市场源码 男性时尚网 健康之家 app应用网站 笑话网站 下载站 美女图片网 中医院网站 家装网站源码 QQ网站 标牌网站 魔兽世界网 淘宝客源码 YY网站源码 别墅设计网站 服装搭配网 宝宝起名网 站长网站 婚庆网站 脑科医院源码 笑话源码 肝胆医院 意外怀孕源码 工作室

扫码关注

qrcode

QQ交谈

回顶部