PHPCMS v9 模型概念及用法
phpcms v9 模型概念
一、什么是模型?
模型是系统知识的抽象表示。我们不能仅仅通过语言来描述一个系统,也不能仅仅通过记忆来记录关于系统的知识。知识是通过某种媒介来表达的,这种媒介所表达的内容就是模型。而知识形成媒介的过程就是建模,或者称为模型化。通常模型可以使用多种不同的媒介来表达,比如纸质或电子文档、缩微模型/原型、音像制品等等。而表达模型的体现方式也是多种多样的,常见的有图表、公式、原型、文字描述等等。
举例来说,一般新闻类的信息,都具有标题、内容、作者、来源、发布时间等属性。不论是国内新闻,还是国际新闻、基本都具有这些属性。那么我们就可以把这些属性模型化,在phpcms中我们理解成“内容模型”。
很显示如果要做下载类网站,需要的模型肯定和普通的“内容模型”不一样,那么我们需要重要定义新的模型。
phpcms 允许使用者根据自身需求自定义模型,来构建多样性网站。
二、phpcms v9 内置模型介绍
phpcms v9 内置新闻、图片、下载三种模型,每个模型都分别自定义不同的属性,并可以为模型指定默认模版列表。

phpcms v9 模型管理和使用
一、修改模型默认模版
每个模型都可以指定对应的默认模版,添加栏目时选择对应模型,可默认加载模型对应模版。如下图所示:

注意:
- 模版位于: phpcms\templates\default(风格名称)\content目录下
- 栏目页模版命名必须以:category(*).html
- 列表页以list 开头,如list_pro.html
- 内容页以show 开头
二、模型字段管理
每个模型都有多个的属性,每个属性都属不同的字段类型,我们可以通过模型字段管理来增减字段,并为字段选择类型,来自定义出自己所需模型,如下图所示:
模型管理列表

每个模型都有多个的属性,每个属性都属不同的字段类型,我们可以通过模型字段管理来增减字段,并为字段选择类型,来自定义出自己所需模型,如下图所示:
内容模型的字段列表管理

摘要字段详情

三、如何使用模型
模型可绑定栏目,新建栏目时选择模型类型, 这样在当前栏目下添加内容时将继承模型的定义。并自动加载被选模型的模版设置。如下图所示:
为栏目指定模型

自动加载被选择模型模版设置

phpcms v9 模型字段设置
一、字段设置选项作用
字段管理设置时有一些选项,其中有些是比较重要的设置。现介绍如下:

注意:
- 是否为主表字段,将决定是否可直接在列表页进行调用显示。
- 相关参数的配置,将随着字段类型的变化而变化。

phpcms v9 重点字段类型使用介绍
一、万能字段
下面以建一个租房模型,来介绍万能字段的使用。首先建立租房模型,如下图所示:

添加万能字段 tenement 别名为 租房信息详情 ,并在相关参数中加入附属字段设置,如下图所示:

接下来添加万能字段 tenement 的附属字段,并在字段设置中,选择为万能字段附属字段,以户型室huxingshi为例,其它附属字段同样的操作,如下图所示:

其它字段同上操作,完成后模型添加效果如下:

说明:利用万能字段还可以做出更多的效果,大家也可以看一下内容模型里的系统内置投票字段。更多效果以待大家发掘。
二、联动菜单
联动菜单常用于区域选择,分类选择等位置,v9内置联动菜单字段,结合扩展功能里 联动菜单的设置,即可做出多级菜单的联动效果,效果如下图所示:
后台使用效果

下面我们以为租房模型添加一个所在区域联动菜单为例,说明联动字段的使用, 首先添加联动菜单数据,并选择菜单风格和应用站点范围(v9 支持多站点站群系统),如下图所示:

接下来为刚才添加的联动菜单,添加菜单数据,如下图所示:

添加子菜单,如下图所示:

添加完联动菜单数据以后,接下来进行联动菜单字段的添加,字段类型选择联动菜单,然后在相关参数设置选项,选择刚才添加的联动菜单项,如下图所示:

添加完成以后,在模型应用栏目,添加信息时,就会出现联动菜单选择框,效果如下图所示:

PHPCMS v9 模型概念及用法的更多相关文章
- phpcms V9 内容模型管理
[1]理解模型 模型,系统知识的抽象表示.既然抽象了,那就得脑补一下.大家都是面向对象设计的专业人员,类就很抽象的,对比类的定义想象一下模型的概念. 举个例子,一般新闻类的信息,都具有标题.内容.作者 ...
- phpcms V9 内容模型管理(转)
转自:http://www.cnblogs.com/Braveliu/p/5102627.html [1]理解模型 模型,系统知识的抽象表示.既然抽象了,那就得脑补一下.大家都是面向对象设计的专业人员 ...
- phpcms v9 前台getshell脚本
phpcms v9 前台getshell脚本 用法:python phpcmsv9getshell.py http://baidu.com # -*- coding:utf-8 -*- ''' --- ...
- phpcms v9 sql注入脚本
phpcms v9 SQL注入脚本 用法:python phpcms.py http://www.baidu.com import requests,sys,urllib url = sys.argv ...
- PHPCMS V9二次开发]自定义字段模型-文本组
phpcms v9,我们在做类似于酒店房型等类型的时候,需要用到文本组字段模型,但phpcms并未提供该模型.如下图所示效果: 展示效果如下: 步骤/方法 打开phpcms\modules\conte ...
- phpcms v9二次开发之模型类的应用(1)
在<phpcms二次开发之模型类model.class.php>中讲到了模型类的建立方法,接下来我讲一下模型类的应用. 前段时间我基于phpcms v9开发了一个足球网.足球网是 ...
- phpcms v9二次开发之模型类的应用(2)
二.模型操作方法select()--查询语句 //查询级别管理列表信息 public function levellists() { $lelists = $this->l ...
- 23个phpcms v9模板制作及二次开发常用代码案例
0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...
- PHPCMS V9开发文档
内容模块 内容模块PC标签调用说明 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category ...
随机推荐
- new Thread的弊端(转)
new Thread的弊端如下: a. 每次new Thread新建对象性能差.b. 线程缺乏统一管理,可能无限制新建线程,相互之间竞争,及可能占用过多系统资源导致死机或oom.c. 缺乏更多功能,如 ...
- 【HDOJ】4985 Little Pony and Permutation
水题. #include <cstdio> #define MAXN 100005 int buf[MAXN], n; int main() { int i, j, k; while (s ...
- Silverlight获取DataGrid选中的行数据
注意触发的事件为:CurrentCellChanged后台代码: /// <summary> /// 获取datagrid当前选中的单元格数据 /// 如果绑定的数据源为实体的话默认选中的 ...
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- supervisor:进程管理工具
一,安装(任何一种方式) apt-get install supervisor easy_install supervisor pip install supervisor 二,配置 配置superv ...
- XML的四种解析器原理及性能比较
转自zsq 1.DOM DOM 是用与平台和语言无关的方式表示 XML 文档的官方 W3C 标准.DOM 是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分 ...
- vbs自学备份
最小化所有窗口: Set obj = CreateObject("Shell.Application")obj.MinimizeAll 最小化某窗口: Const strTitle ...
- Docker 初级实践
Docker 应用 优势 与虚拟相比Docker更加轻量高效,更加方便移植.虚拟机提供的是完整的操作系统环境,包含了大量类似硬件驱动.虚拟处理器.网络接口等等并不需要的信息,也需要比较长时间的启动,同 ...
- postgres中的merge join
目前数据库中的join操作 无非三种 nextloop merge hash 本文分析pg的merge join 不得不说pg真是学习数据库实现的好东西 不愧是学院派 用来教学的 代码写的干净注释清晰 ...
- Eclipse ADT的Custom debug keystore所需证书规格
最近开始研究Google Play的In-app Billing IAB内置计费API,发现一个比较烦人的问题就是测试时应用必须经过正式签名,而默认Eclipse ADT调试运行使用的是临时生成的De ...