创建织梦并分析增加新模型功能
建立新模型不仅在织梦dedecms二次开发中常用到,有时候在仿站时也用到,虽然,建立模型比较简单,但是模型里面的那十多项表单内容确不好理解,今天就通过建立模型相关程序和数据库知识详细分析一下,以便给大家一个系统的了解,以后,我们建立新模型的时候就可以大胆的做了。
网上有很多关于建立新模型的教程,一般都是直接告诉我们怎么做,但是为什么这样做?确没有这样的教程,本站建立的主要原因也是在此,通过分析程序来讲解一些织梦功 *** 作原理,这一点是与其它教程根本区别。在建立新模型前我们要对里面的每一项进行分析。
进入网站后台,用箭头表示下一步:核心→内容模型→内容模型管理→点增加新模型→进入创建模型界面,如下图所示,
图1
接下来我们就详细分析这一界面每一项功能作用。
这个“新增内容模型”界面用到的文件是http://www.dedebase.com/dede/mychannel_add.php,即根目录下面dede(如果后台路径没有改的话)文件夹下面的mychannel_add.php,这个php程序,对应的模板文件是mychannel_add.htm,用到的数据库表是dede_channeltype。
现在回到新增内容模型界面:
第一项是:频道ID,这个“频道ID”并不是指这个模型id,它只是一个id号,这个频道ID对应的数据库表字段是“id”,而模型id对应的数据库表字段是“nid”,这二个id是非常容易混淆的。为了区别这二个id,我们看一下内容模型管理界面、数据库表dede_channeltype(只截取表中有用的部分,其它忽略)和新增内容模型部分截图三张图对比如下。
图21
图22
图23
在图21中的“id号”、“识别id”分别与图22中的字段“id”、“nid”对应,即id号和表中字段id同一个id,识别id和表中字段nid(nid是模型id)是一个id。上面提到的“频道ID”就是id号,也就是图22中字段“id”,而图23中第二项“名字标识”才是模型id,即对应表字段nid。这二者非常容易混淆。
我是如何分清的呢?我们这样来分析图21和图23,只不过都是数据库表字段,在模板里的不同的叫法吧了,这二张图里面的名字在图22对应表里都有,这些对应我们通过模板mychannel_add.htm来找。打开这个模板,找到从61行开始向下看,我截取一部分图如下所示。
我们找到:name="id",value="" 这个name="id"就是数据库表dede_channeltype里面对应的id,后面value 里面的变量$newid就是你在后台填写的唯一数字,也就是图23第一项,你在后面那个方框里写的数字。
我们再看:name="nid" type="text" id="nid" value="ch" 这个name="nid"就是数据库表dede_channeltype里面对应的模型id,即nid,后面value 里面的变量$newid就是你在后台填写的唯一数字,也就是图23
第二项名字标识,你在后面那个方框里写的数字。只不过在$newid前面强制加上了ch。
以下各项与数据库表dede_channeltype一一对应。与上面二个的分析完全一样,这里些对应不一一分析了,留给大家作练习用,希望大家自己分析一下,这样可以学习不少东西。
我们再回到第一项,下面有段说明是“数字,创建后不可更改,并具有唯一性。”,这里讲的唯一性,指的是你写的这个数值不能与其它模型重复,如文章的id号是1,商品的id号是6,分类信息的id号-8,在这里填写的频道id不能与这些id号重复,必须保持唯一性。
像id,nid都是通过模板mychannel_add.htm,收集数据,然后,通过这些字段,把收集到的数据插入到数据库,这一过程如何实现的呢?
当用户(或管理员或信息发布员)填写好数据后,当点击保存后,模板里面的这些字段如id,nid等,收集value后面的数据库,然后,通过
织梦dedecms 5.7首页调用问答的代码
上一篇
2022-09-28
织梦CMS,当前栏目高亮显示
下一篇
2022-09-28
评论列表(0条)