创建织梦并分析增加新模型功能
发布时间:2020-12-14 05:02:07 所属栏目:Dedecms 来源:网络整理
导读:建立新模型不仅在织梦dedecms二次开发中常用到,有时候在仿站时也用到,虽然,建立模型比较简单,但是模型里面的那十多项表单内容确不好理解,今天就通过建立模型相关程序和数据库知识详细分析一下,以便给大家一个系统的了解,以后,我们建立新模型的时候就
建立新模型不仅在织梦dedecms二次开发中常用到,有时候在仿站时也用到,虽然,建立模型比较简单,但是模型里面的那十多项表单内容确不好理解,今天就通过建立模型相关程序和数据库知识详细分析一下,以便给大家一个系统的了解,以后,我们建立新模型的时候就可以大胆的做了。 ? 网上有很多关于建立新模型的教程,一般都是直接告诉我们怎么做,但是为什么这样做?确没有这样的教程,本站建立的主要原因也是在此,通过分析程序来讲解一些织梦功操作原理,这一点是与其它教程根本区别。在建立新模型前我们要对里面的每一项进行分析。 ? 进入网站后台,用箭头表示下一步:核心→内容模型→内容模型管理→点增加新模型→进入创建模型界面,如下图所示, ? 接下来我们就详细分析这一界面每一项功能作用。 ? 这个“新增内容模型”界面用到的文件是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中的“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="nid" type="text" id="nid" value="ch 第二项名字标识,你在后面那个方框里写的数字。只不过在$newid前面强制加上了ch。 ? 以下各项与数据库表dede_channeltype一一对应。与上面二个的分析完全一样,这里些对应不一一分析了,留给大家作练习用,希望大家自己分析一下,这样可以学习不少东西。 ?我们再回到第一项,下面有段说明是“数字,创建后不可更改,并具有唯一性。”,这里讲的唯一性,指的是你写的这个数值不能与其它模型重复,如文章的id号是1,商品的id号是6,分类信息的id号-8,在这里填写的频道id不能与这些id号重复,必须保持唯一性。 ? 像id,nid都是通过模板mychannel_add.htm,收集数据,然后,通过这些字段,把收集到的数据插入到数据库,这一过程如何实现的呢? ? 当用户(或管理员或信息发布员)填写好数据后,当点击保存后,模板里面的这些字段如id,nid等,收集value后面的数据库,然后,通过 |