成语| 古诗大全| 扒知识| 扒知识繁体

当前位置:首页 > 趣味生活

dedecms模型是什么

Q1:dedecms中的各种内容模型都是什么意思?

内容模型指的是网站根据不同栏目有不同需求,例如说我们发布一些普通文章。它只是需要到文章模型就够了。但是例如我们的栏目是图片类型,而且一篇图片文章是一组图片组成的,那这个时候图片类型就更加适合了。而说到软件类型,顾名思义,它针对的是给广大用户下载用,它发布的文章不仅仅只是介绍内容而已,往往还带有下载地址,还有软件信息等。商品类的是涉及到产品价格购买流程,分类信息涉及到的往往是一些地区分类,或者行业性分类。
所以说不同的模型针对的对象是不一样的,这个得根据网站具体的栏目去定。而且dedecms的内容模型主要是针对开发者去用的,对于用户来说,可以不去了解其作用,因为只要知道怎么发布和普通维护就可以了。

Q2:DedeCMS频道内容模型自定义与SQL标签应用

DedeCMS也提供频道内容模型自定义功能,可以根据自己的需求建立频道模型,类似KingCMS的自定义模块。这篇文章不写如何建立频道内容模型,写写在首页或非自定义频道内容列表页如果要调用里面的内容使用的SQL标签。

要使用SQL标签,最基本的查看数据库字段是一定要会的,特别是如果用自定义模型字段都是自己加的,不是系统默认的。

先看下面这段调用的语句,我一行行解释吧,这样可能比较好理解。

{dede:sql sql=" SELECTdede_addonevents.aid,dede_addonevents.typeid,dede_addonevents.events_place,dede_addonevents.begin_date,dede_addonevents.end_date,dede_events.ID,dede_events.typeid,dede_events.title,dede_events.description,dede_full_search.aid,dede_full_search.typeid,dede_full_search.urlFROM dede_addonevents , dede_events , dede_full_searchWHERE dede_addonevents.aid=dede_events.IDAND dede_events.ID=dede_full_search.aidORDER BY dede_addonevents.aid DESC LIMIT 0, 4 " }[field:events_place/] [field:title function="cn_substr(@me,38)"/] [field:description function="cn_substr(@me,38)"/] [field:begin_date/] - [field:end_date /]{/dede:sql}

dede_addonevents 和 dede_events 是自定义生成频道之后自动生成的表,默认的系统中是没有的。dede_full_search 这个表是存储DedeCMS中所有文章或自定义频道文章内容的路径的表,这里要调用URL,一定是需要打开的。

dede_addonevents.aid,dede_addonevents.typeid,dede_addonevents.events_place,dede_addonevents.begin_date,dede_addonevents.end_date,dede_events.ID,dede_events.typeid,dede_events.title,dede_events.description,

这几个都是自定义表中需要调取的字段,在自定义频道生成的时候DedeCMS系统会自动加上.aid,.ID,.typeid,这样的ID字段,以实现多表关联查询。

这部分FROM dede_addonevents , dede_events , dede_full_search就不详细解释了,就是调用的表名。

下面这个部分就是多表关联查询的条件语句了

WHERE dede_addonevents.aid=dede_events.IDAND dede_events.ID=dede_full_search.aid

当然是要ID能匹配上调用的内容才不出错。

ORDER BY dede_addonevents.aid DESC LIMIT 0, 4

这句就是数据显示的倒序正序了,Mysql支持LIMIT 0, 4 这个设置起始位置非常方便。

[field:events_place/] [field:title function="cn_substr(@me,38)"/] [field:description function="cn_substr(@me,38)"/] [field:begin_date/] - [field:end_date /]

这个部分就是DedeCMS的标签了,自定义的时候会有字段名,跟系统默认标签基本相近,方法也一致。标签问题查看系统的帮助就可以。

从这个语句可以看出,如果对DedeCMS的数据库表和字段了解的够清楚基本可以实现想调用什么数据就调用什么数据。以后有时间再看看可以不可以实现多个SQL查询。

Q3:织梦dedecms内容模型管理

dedecms中的内容模型是指文章、软件、商品等类型的文章字段模板。在dedecms中,文章数据由文章主表和文章附加表构成,主表存放文章公共拥有的信息,比如标题,添加时间,点击量等,文章附加表存放文章的内容信息,比如普通文章,商品信息,软件信息等。

1.认识内容模型管理

在主菜单上点击“核心”选项卡,然后点击“频道模型”栏中的“内容模型管理”,即可进入内容模型管理界面(如图1所示)

图1-内容模型管理界面

内容模型的自定义程度越高,网站所实现的展示功能就越多,可以有效的降低研发成本。接下来介绍管理细节。

2.增加新模型

点击“增加新模型”按钮(图1右上角),此时进入了新建模型的表单。在此以创建一个视频模型为例进行解释。

频道ID:频道的数字ID,只能是数字,具有唯一性。

名字标识:此名称主要用于与模板的关联,推荐使用英文和数字,以便程序的跨平台使用

频道名称:频道名称将会在前台发布和后台管理等界面中出现

附加表:这就是上文提到的文章附加表,名称以系统表名前缀开始(默认dede_),以及频道的标示为名,这个表名是可以自由修改的。

模型性质:如果为系统模型将禁止删除,此选项不可更改,对于独立模型,系统强制创建字段aid,typeid,senddate,title, mid,channel,独立模型的文档内容必须点击栏目进入列表才能管理。此选项推荐选择自动模型。

是否支持会员投稿:选择“不支持”前台用户将无法投稿,选择“支持”则前台用户可以投稿。

会员许可投稿级别:选择投稿对应会员的级别

许可投稿会员组: 允许投稿的会员组

会员稿件默认状态:会员投稿的文章状态

投稿标题使用名称:在投稿时默认显示的内容

投稿是否使用摘要:是否对投稿文章使用摘要,独立模型如果需要摘要需要自行创建对应字段

投稿是否使用缩图:是否提取缩略图,独立模型如果需要摘要需要自行创建对应字段

默认栏目ID:投稿文章的默认栏目ID,栏目ID可以在栏目管理中看到

投稿具有唯一性:选择“是”后每个会员在对应的默认栏目中只能投稿一篇,其作用与自定义表单相同

档案发布程序:添加文章的程序

档案修改程序:修改文章的程序

档案管理程序:文章列表程序

前台会员发布程序:会员在前台投稿时使用的程序

前台会员修改程序:会员修改文章的程序

前台会员管理程序:前台文章列表程序

(注意:这6个程序都是php程序,而不是模板文件,如果没有写这几项对应的php程序,则不要修改,仅修改发布用的htm模板请到程序文件中查看使用的模板是哪些,比如content_list.php中对应的模板是/dede/templets/content_list.htm)

如(图2)所示

图2-建立新内容模型

填写好后,点击“确定”按钮,提示成功后,自动跳转到了编辑页面。

3.模型更改

新建的模型更改时其它选项与创建相同,多了一项列表附加字段,这是用于前台模板上调用的,如果需要在对应的列表模板中调用该字段,则需要在此填写,比如稍后建立的视频时长字段“timelong”,填写之后就可以在前台模板的{dede:list}{/dede:list}标签之间用[field:timelong /] 来调用了。修改好之后点击“确定”按钮。

此时我们需要编辑字段了,在表单头部,点击“字段管理”选项卡。此时可以点击“添加新字段”按钮来添加字段了。

在添加字段的操作中有以下几项:

表单提示文字:发布内容时显示的提示文字

字段名称:只能用英文字母或数字,数据表的真实字段名,如果数据类型是联动类型,该项应该填写联动类型的组名称(参阅联动类型管理)。

字段类型:选择“系统自动生成表单字段”,系统将会自动生成表单项,比如单行文本类型会生成一个类似于的表单项,如果选择“已经固化在发布表单中字段”则需要手动去更改添加用的表单。

前台参数:[复选]使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项将使列表查询变慢,如无必要请不要选择),[复选]前台投稿及采集规则禁用本字段

内容是否需要分页符:如果内容需要分页符,不论何种内容,都可以用#P#副标题#e#作为分页符号实现内容分页,但一个模型里仅允许一个这样的字段!大部分字段是不需要分页的

数据类型:此项主要是用于自动生成的表单,在这里我们对每种类型和对应的表单类型进行概要

单行文本(varchar):对应文本输入框

单行文本(char):对应文本输入框

多行文本:对应文本输入框

HTML文本:html编辑器

文本保存HTML数据:html编辑器

整数类型:对应文本框

小数类型:对应文本框

时间类型:对应带时间选择插件的文本框

图片:对应附件

图片(仅网址):对应文本框

多媒体文件:对应附件

附件类型:对应附件

使用option下拉框:对应select下拉菜单

使用radio选项卡:对应radio单选菜单

Checkbox多选框:对应checkbox多选菜单

联动类型:对应dede联动类型(请参阅联动类型相关文档)

默认值: 如果定义数据类型为select、radio、checkbox时,此处填写被选择的项目(用“,”分开,如“男,女”)。

最大长度:文本数据必须填写,大于255为text类型

自定义表单HTML:不填写则使用默认模型,如果有特殊需要,填写自定义表单HTML模板中用~name~表示提示文字,~form~表示表单元素。

如(图3)所示

图3-添加字段

填写好后点击“确定”按钮保存。

此后,如法炮制,我们再创建一个html字段来存放从优酷复制来的视频html代码。

添加完成后,回到字段管理页面,可以看到对应的信息,如(图4)所示

图4-字段管理

字段添加完成后,一个新模型就算创建完成了。

4.模板修改

如(图1)中,可以看到管理列中第二个图标是模板管理,点击按钮,列出了该模型的模板,这里建议使用IDE修改模板,而不是在网站后台。

5.模型导出

如(图1)中,点击管理列中的模型导出,将模型规则复制出来,可以在其它dedecms(最好是同版本)中导入了。

6.模型导入

如(图1)中,点击列表头部的模型导入,将其它程序中复制出来的模型规则粘贴在输入框中,然后点击“确定”按钮,即可导入一个模型。

7.模型复制

如(图1)中,点击管理列的“模型复制”按钮,可以将现有模型复制到新模型,只需要填写对应的ID,名称,标识和附加表即可完成。如(图5)所示

图5-模型复制

8.自定义搜索

频道模型的自定义搜索只针对本频道的内容搜索,如(图1)中,点击管理列“自定义搜索”按钮,进入生成自定义搜索的节目,首先需要选择“主表可供自定义搜索的字段”,

标题、关键字、摘要为默认选项,不用选择,除了这些之外,可以选择“是否推荐”,“栏目”,“作者”,“来源”,“发布时间”等项,当然还可以选择“附件表可供自定义搜索的字段”,这里会列出附加表可供搜索的字段,如果需要,可以自行选择勾选。

还可以自定义显示用的模板,模板的编写方法需要参考默认的advancedsearch.htm,配置好后点击“确定”按钮生成表单代码,然后将代码复制到需要使用高级搜索的列表模板等模板中即可。如(图6)所示

图6-自定义搜索

9.删除模型

如(图1)中,点击管理列中的“删除”按钮,即可删除频道模型。

10.模型使用

模型创建好后,在后台建立的栏目中就可以选择新建的模型了(参见栏目管理文档),如(图7)所示。

图7-添加视频栏目

栏目创建好后,在该栏目中添加文章,此时会发现出现了该模型的字段(如图8所示),填写对应信息,然后点击确定可以添加一篇文章

图8-添加文章

文章添加好之后就需要修改模板了。打开模板目录,首先需要修改列表页模板,在这里复制一个list_article.htm,修改为 list_chv.htm作为例子。打开list_chv.htm,在{dede:list}{/dede:list}标签直接加上 [field:timelong/],比如:

{dede:listpagesize=10}

  • [field:arrayrunphp=yes]@me=(empty(@me[litpic])?"":"");[/field:array]

    [[field:typelink/]][field:title/]日期: [field:pubdatefunction="GetDateTimeMK(@me)"/]点击:< /small>[field:click/]好评:[field:scores /]时长:[field:timelong/]

    [field:description/]...

  • {/dede:list}

    然后保存该模板,在后台生成静态,或者使用动态浏览查看该列表页,可以看到出现了刚才模板中调用的timelong字段,在这里需要注意,并不是所有字段都可以调用出来,这一点可以参阅前文的新增加模型部分(图9所示)

    图9-列表页

    修改好列表模板后,需要修改文章模板,我们依然复制article_article.htm为article_chv.htm为例,打开article_chv.htm文件,在适当的位置加入需要调用的字段,在文章模板中,可以调用该模型的任何字段。保存后生成文章页,新加入的调用就可以看到了。

    图10-文章页

    当然还可以使会员从前台可以添加,不过需要在模型管理中将“是否允许会员投稿”设置为“支持”。这一点在此文档中也提到过,请参阅“增加新模型”

    进入会员中心(目录为/member),点击导航上的“内容中心”选项卡,左侧的“自定义内容”中会出现刚才添加的允许会员投稿的模型,鼠标悬浮至其名称上会在后面出现“发表”按钮,点击它进入发表页面,填写与后台类似的对应项之后点击“确定”即可投稿(图11、12所示)

    图11-进入视频投稿

    图12-自定义模型投稿页面

    投稿完成后,文章可以在后台进行管理操作(参阅文章管理文档)