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 模型概念及用法的更多相关文章

  1. phpcms V9 内容模型管理

    [1]理解模型 模型,系统知识的抽象表示.既然抽象了,那就得脑补一下.大家都是面向对象设计的专业人员,类就很抽象的,对比类的定义想象一下模型的概念. 举个例子,一般新闻类的信息,都具有标题.内容.作者 ...

  2. phpcms V9 内容模型管理(转)

    转自:http://www.cnblogs.com/Braveliu/p/5102627.html [1]理解模型 模型,系统知识的抽象表示.既然抽象了,那就得脑补一下.大家都是面向对象设计的专业人员 ...

  3. phpcms v9 前台getshell脚本

    phpcms v9 前台getshell脚本 用法:python phpcmsv9getshell.py http://baidu.com # -*- coding:utf-8 -*- ''' --- ...

  4. phpcms v9 sql注入脚本

    phpcms v9 SQL注入脚本 用法:python phpcms.py http://www.baidu.com import requests,sys,urllib url = sys.argv ...

  5. PHPCMS V9二次开发]自定义字段模型-文本组

    phpcms v9,我们在做类似于酒店房型等类型的时候,需要用到文本组字段模型,但phpcms并未提供该模型.如下图所示效果: 展示效果如下: 步骤/方法 打开phpcms\modules\conte ...

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

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

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

    二.模型操作方法select()--查询语句         //查询级别管理列表信息    public function levellists() { $lelists = $this->l ...

  8. 23个phpcms v9模板制作及二次开发常用代码案例

    0:调用最新文章,带所在版块 {pc:get sql="SELECT a.title, a.catid, b.catid, b.catname, a.url as turl ,b.url a ...

  9. PHPCMS V9开发文档

    内容模块 内容模块PC标签调用说明 模块名:content 模块提供的可用操作 操作名 说明 lists 内容数据列表 relation 内容相关文章 hits 内容数据点击排行榜 category ...

随机推荐

  1. org/springframework/core/MethodClassKey

    解决下面报错的办法: 把pom.xml中下面两个dependency的version去掉. <dependency> <groupId>org.springframework& ...

  2. INDEX RANG SCAN无需回表的情况

    create table a3 as select * from dba_objects create index a3_idx1 on a3(owner); select owner from a3 ...

  3. 【HDOJ】5017 Ellipsoid

    简单地模拟退火. /* 5017 */ #include <cstdio> #include <cstring> #include <cstdlib> #inclu ...

  4. OI记忆口诀

    splay_rotate: inline void rotate(splay_node *x){ splay_node *y,*z;int d1,d2; d1=get_parent(x,y);//三个 ...

  5. BZOJ1657: [Usaco2006 Mar]Mooo 奶牛的歌声

    1657: [Usaco2006 Mar]Mooo 奶牛的歌声 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 489  Solved: 338[Submi ...

  6. Hadoop CombineFileInputFormat实现原理及源码分析

    Hadoop适用于少量的大文件场景,而不是大量的小文件场景(这里的小文件通常指文件大小显著小于HDFS Block Size的文件),其主要原因是因为FileInputFormat在为这些小文件生成切 ...

  7. HDOJ(HDU) 2103 Family planning(需要注意范围)

    Problem Description As far as we known,there are so many people in this world,expecially in china.Bu ...

  8. [置顶] JSP中使用taglib出错终极解决办法

    jsp中 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c ...

  9. 使用javascript判断浏览器类型

    之前在项目中遇到过要针对不同浏览器做不同的一些js或者css操作,后来某个朋友也突然问到这个问题,所以,整理了一下,在这里留个笔记,方便以后使用. 使用javascript判断浏览器类型: funct ...

  10. jsonp突破同源策略,实现跨域访问请求

    跨域访问问题,相信大家都有遇到过.这是一个很棘手的问题.不过道高一尺,魔高一丈,对于这类问题,总有解决问题的方案.最近我又接触到了这个问题,解决的途径是ajax+jsonp. 说到这个问题,不得不说一 ...