dedecms二次开发:自定义模型使用教程

  在织梦系统中有内容模型这个概念,不同内容模型可以用来构建不同内容形式的站点,在系统中自带了以下几种模型:普通文章、图集、软件、商品、分类信息、专题。通过系统自带的模型,我们可以用来构建不同类型的站点,例如:使用图集可以做一个图片站,用软件模型构建一个软件下载站点。

  当然以上随系统附带的模型被称为系统模型,用户可以自己定义一些模型,比如图书、音乐专辑等,自定义了这些模型才可以构建更多内容形式的站点,本篇将讲述如何使用系统的自定义模型管理功能来实现内容模型的构建。

  我们首先登录系统后台,点击[核心]-[内容模型管理],进入内容模型管理界面,如下图所示:

  

  这里我们介绍几个相关参数的概念:

  bull;ID 用于区分模型的唯一ID,一般常规模型的ID都是大于0的,比如普通文章、软件等,如果使用了单表模型,ID一般需要小于-1,例如这里的分类信息模型;

  bull;频道名称 用于识别频道类型的标识;

  bull;识别id 系统用于识别的id,这个关系到模板方面;

  bull;附加表 系统内容附加表项;

  bull;模型类型 分为系统类型和自动类型,系统类型为固化在系统中的内容模型,自动类型为用户可创建的内容模型类型;

  接下来我们开始介绍如何使用自定义模型管理来创建一个自己的模型,并且用于建设不同内容类型的网站中去。

  这里我们介绍一些周边的内容,几个要用到的概念:

  bull;字段 在数据库中,表的列称为字段,织梦系统也是如此,但更恰当的说法,存储某个内容信息单元,称为字段,例如标题、来源、作者等都是一个字段;

  bull;内容系统主表 程序将一些公用字段存储在系统主表dede_archives,例如:标题、关键词、缩略图等,主表具体字段可以查询织梦帮助中心(http://help.dedecms.com)的有关二次开发手册数据表部分的内容;

  bull;附加表 不同内容模型对应不同的附加表,通常以dede_addon[识别ID]命名,附加表中存放的都是详细内容的相关字段(非公用),例如:文章内容(dede_addonarticle)、软件类型(dede_addonsoft)、图片集合(dede_addonimage)等;

  bull;单表独立模型 存储时候不用到"主表+附加表"的结构形式,直接使用单个数据表进行存储内容数据,这样脱离主从表,减少主表数据服在开销,可以从很大程度上解决数据负载问题;

  明白了以上几个概念我们可以来学习如何来自己创建一个内容模型了。

  一个完整的内容模型包含模型数据表、数据字段、模型模板、模型参数4个部分,制作一个内容模型大致有以下几个步骤:1.模型规划;2.模型制作;3.模板制作;4.栏目设置,下面我们从上面4个步骤来讲解内容模型的制作。这里我们以一个图书模型(book)为例子,这个模型主要功能就是介绍书籍。

  模型规划

  模型规划分为几个部分一个是模型应用方面的规划,其次就是字段信息方面的规划,以图书(book)模型为例子,我们现规划一个频道使用这个模型,这个频道作用就是让大家分享一些好的学习资料,这里主要是编程方面的书籍,所以栏目划分大致如下:

  以下为引用的内容:

  [网络编程书籍]

  |____[ASP相关]

  |____[PHP相关]

  |____[JSP相关]

  |____[.NET相关]

  这几个栏目是支持会员投稿的,因为这个推荐的书籍不是很多,所以直接采用主从表的形式,不使用独立单表模型,因为涉及到会员分享,所以这里需要会员投稿,我们给投稿会员级别设置为中级会员才有权限,并且需要摘要和说略图,投稿之后需要经过管理员审核,这样基本的使用规划完成,下面就是字段方面的规划了。

  因为介绍一本书,我们规划了以下内容:

  出 版 社publish 单行文本(varchar)

  出版时间pubtime 时间类型

  字  数cnum 整数类型

  版  次pubnum 整数类型

  页  数pagenum 整数类型

  印刷时间pritime 时间类型

  开  本kbook 单行文本(varchar)

  印  次prinum 整数类型

  纸  张pages 单行文本(varchar)

  I S B Nisbn 单行文本(varchar)

  包  装packs 单行文本(varchar)

  内容简介body HTML文本

  作者简介wrbody HTML文本

  目录bindex HTML文本

  这样,我们完成了第一步模型的规划。

  模型制作

  规划完成了,接下来我们开始将这些规划的内容创建为一个内容模型。首先以超级管理员身份登录到系统后台。点击[核心]-[模型管理],点击"增加新模型"按钮来创建模型。

  按照系统提示配置模型的基本信息,这里因为选择的是自动模型,所以档案发布的相管程序页面只需要保留默认即可。因为我们发布的是图书,所以这里"投稿标题使用名称"设置为:图书名称。

  

  因为这里我们使用的是自动模型,没有自己制作相应的发布管理程序,所以下面的相关模型发布程序保持默认即可,当然如果你有一定的编程能力,可以自己制作一个内容发布程序,然后在这里指定即可。

  

  基本信息设置完毕,直接单击确定即可,进入到字段管理的页面,点击字段管理中的"添加新字段"按钮,进入字段添加页面,我们根据相关的字段信息进行字段添加。

  下面是一些字段类型我们对部分字段进行一些说明:

  以下为引用的内容:

  单行文本(varchar) :常用字段,如文章标题、作者等都属于直接输入少量内容的文本,设置这个文本之后需要指定文本长度,默认为250,如果大于255则为text类型

  多行文本:也是较为常用的字段类型,如个人简介、产品描述都可以使用多行文本进行存储

  HTML文本:用织梦编辑器编辑产生的html内容,用于比较复杂的内容形式

  附件类型:可以后台上传附件让用户下载,附件类型可以在后台进行设置

  option下拉框:下拉选择,一般用于如软件类型、语言类型等字段

  联动类型:一种数组形式的数据类型,可以在系统后台联动类型管理中进行设置

  了解了这些字段类型我们就可以添加我们的字段信息了。

  

  添加完成点击确定即可,这样我们就完成了这个模型的制作。模型添加完毕之后我们发现在内容发布的地方多出来一个发布图书的选项,这个说明我们的模型就已经成功添加了。

  

  模板制作

  我们通过织梦帮助中心的《主要模板文件与功能说明》了解到每个模型还需要制作对应的模型模板文件,我们可以通过后台模型管理中的模板文件说明查看模板文件。

  

  模板制作主要有2个地方需要讲解下。

  1. 列表页模板list_[识别ID].htm中显示在列表中需要调用添加扩展的字段需要在添加字段页面勾选"使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择)",这样在{dede:list/}标签中就可以使用[field:fieldname/]来进行调用。

  2. 内容页的标签可以使用{dede:field.fieldname /} 进行调用,具体可以参考帮助中心模板相关的帮助文档。

  栏目设置

  接下来我们就可以来添加一个栏目,在栏目设置中将栏目的内容模型设置为图书

  

  然后我们就可以在这个栏目下添加文档,会发现我们现在可以发布图书内容了

  

  添加完成之后,我们可以浏览我们的网站页面,预览我们的模型效果。

  

  至此我们完成了整个模型的制作,整个过程还是非常简单的。这里只介绍了自动模型的制作,当然有一定PHP基础的用户可以自己开发系统模型,这样就会拥有更为强大的织梦系统,使得网站内容更加丰富。

dedecms二次开发:自定义模型使用教程相关推荐

  1. Mixly 二次开发 自定义库 创客教程

    前言 本章内容是对Mixly 图像化编程软件进行的二次开发,需要一定的编程基础,需要用到的概念和知识点有: 绑定与事件概念, JavaScript的基本语法, .xml脚本的标签定义 限于篇幅,本章内 ...

  2. 织梦二次开发写php,PHP教程—DedeCMS二次开发(二)

    织梦内容管理系统(DedeCMS),是一个集内容发布.编辑.管理检索等于一体的网站管理系统(Web CMS),他拥有国外CMS众多特点之外,还结合中国用户的需要,对内容管理系统概念进行明确分析和定位. ...

  3. phpcms v9二次开发之模型类的应用(1)

    在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用.       前段时间我基于phpcms v9开发了一个足球网.足球网 ...

  4. php织梦二次开发的功能例子,织梦dedecms二次开发php使用json讲解

    织梦dedecms二次开发php使用json讲解 简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将 ...

  5. CATIA CAA二次开发视频教程 CAA资料教程

    CATIA CAA二次开发视频教程 CAA资料教程 链接:https://pan.baidu.com/s/1B7TcxhDl8KPphDtJwQ1WzQ 提取码:tmum

  6. Mixly 二次开发 自定义库

    Mixly基本原理 Mixly可以看作是介于普通用户与Arduino IDE之间桥梁,通过这个桥梁,即使用户不懂C语言的语法,也可以利用图形化程序编写Arduino程序.Mixly的基本原理是将图形化 ...

  7. php织梦二次开发的功能例子,织梦DedeCMS二次开发联动筛选功能的实现(含多选功能)...

    织梦默认的列表页没有筛选功能,但有时候我们做产品列表页的时候,产品的字段比较多,很多人都需要用到筛选功能,这样可以让用户更方便的找到自己所需要的东西,实现这个联动筛选功能需要对织梦进行二次开发,下面就 ...

  8. Revit二次开发 获取模型截面线、截面轮廓

    描述 获取Revit模型的截面线.横切面线.截面轮廓. 用途 用于获取模型的截面线.横切面线.截面轮廓. 实现方式 创建视图平面: 从视图平面获取轮廓线: 获取平面标高处的截面线. 效果 示例 /// ...

  9. 如何学习织梦二次开发,怎样进行dedecms二次开发

    在织梦基地已经做过一个教程"织梦二次开发流程分析教程",在这个教程里面对二次开发流程作了简单分析,本教程将介绍如何学习织梦二次开发和对织梦系统进行二次开发. 掌握二次开发基础知识 ...

最新文章

  1. 技术人如何做职场沟通?
  2. vue点击定位到指定位置_百度地图vue-baidu-map自动定位,鼠标选点并进行逆解析,地区检索,使用案列以及解决方案...
  3. 第十二周项目二-Time类中的运算符重载
  4. python全栈开发学习 01
  5. java弹窗 触发事件_关于ElementUI中MessageBox弹框的取消键盘触发事件(enter,esc)关闭弹窗(执行事件)的解决方法...
  6. PHP留言并展示_利用PHP实现简单留言板
  7. c语言如何输入矩阵_如何在 COMSOL 软件中调试外部材料
  8. flask中蓝图的使用
  9. Android--Handler使用应运及消息机制处理原理分析
  10. kubernetes权威指南第五版_Java 微服务实用指南(二)
  11. git rebase 两个交叉branch换基
  12. 怎样在javascript中直接设置好打印方式为横向或纵向(測試未果)
  13. vue你不知道的奇淫绝技
  14. 抖音c语言表白编码,抖音微信表白代码大全 微信表白代码总汇
  15. 【项目篇-项目创新点怎么写?(两千字图文总结建议)】创新创业竞赛项目计划书、新苗国创(大创)申报书
  16. EXCEL 2016常用知识--Excel基础操作
  17. PT100热电阻接线方法
  18. 机器学习小白入门--统计学知识 Z-Value for Proportions
  19. Java相关软件下载地址
  20. azul zing_Azul Systems CTO讨论Lambda并提高Java社区的投入

热门文章

  1. 数据库-----catalog与schema简介
  2. 【Arduino】这么方便?舵机快捷调试软件分享。
  3. [ElasticSearch] 三种方式进行ES检索评分控制
  4. PTA- 分段计算居民水费
  5. vue更新数据后重新请求数据并刷新页面
  6. 一位***硬核的裸机编程思想
  7. 声品质粗糙度matlab,声品质的应用分析方法
  8. Photoshop教程中文字工具相关六大知识点介绍
  9. shiro分布式session共享
  10. 利用Java实现福彩双色球项目(支持单式/复式购买)