澳门新葡亰平台游戏网站帝国CMS栏目自定义字段说明教程

澳门新葡亰平台游戏网站 31

栏目属性自定义字段功能:在系统支持信息属性自定义字段的基础上,6.6版又新增了栏目属性自定义字段功能,让灵活系统更灵活。

1. “员工请假”流程及在线表单开发示例

1、phpcms可视化编辑器的调用方法

一、增加栏目字段1、登录后台,单击“栏目”菜单,选择“栏目自定义字段”子菜单,进入管理栏目字段界面:

1.1. 描述

通过本示例达到快速对F2流程管理平台的在线表单速讯上手及零编码式的开发。实现一个以请假为示例的流程及在线表单,及请假数据的查询。

需要用到editor函数,editor($textareaid = ‘content’, $toolbar = ‘phpcms’,
$width = 500, $height = 400)

2、进入管理栏目字段界面:

1.2. 目标效果

(1) 如何配置一个“请假在线表单”

(2) 如何配置请假流程

(3) 如何查询我个人的请假历史数据

(4) 如何让管理员查询所有请假的数据

$textareaid 为文本框 id

3、从管理栏目字段页面点击“增加栏目字段”按钮,进入增加栏目字段界面,如下图:

1.3. 如何配置一个“请假在线表单”

$toolbar 为工具按钮样式,目前有 phpcms 和 introduce
两种可以选择,一般较大的内容编辑框用 phpcms,而简要介绍则用 introduce

字段名澳门新葡亰平台游戏网站,填写字段名,字段名由英文和数字组成。比如:title。字段标识字段标识方便识别字段。比如:标题字段类型选择字段的存放类型。
字段长度:选择字段的存放长度。输入表单显示元素选择前台表单录入的方式。
元素长度:表单元素显示的大小。初始值填写字段默认值或选项(多个值用回车格开;默认选项后面加::default)。显示顺序会员表单的字段显示顺序越小越前面。输入表单替换html代码增加字段后自动生成字段显示的html代码内容,增加字段时一般不设置,可增加字段后再修改。注释填写备注内容。二、管理栏目字段

1.3.1. 数据库表定义

点击在线表单==》数据库表定义==》新增,如下图:

 澳门新葡亰平台游戏网站 1

 

点击编辑字段,如下图:

 澳门新葡亰平台游戏网站 2

点击编辑字段,新建请假的所有字段

 澳门新葡亰平台游戏网站 3

说胆:每个表中必须要有CreatorId和CreatedTime,这两个字段的意义在于存放创建人ID和数据创建时间,后面将用此字段做过过滤条件来做表的数据查询管理。申请人ID在表单元素配置时会配置为隐藏域,当请假人提起请假时会自动绑定申请人的用户ID,通常也会有一个对应的请假人姓名,如上图所示。当然这两个字段也不是绝对要的,如果没有这两个字段那么需要实现“目标效果”中的第3和第4点需要在菜单地址中增加多两个参数

参数地址传入指定的字段来代替这两个字段,增加sortName参数和creatorId参数,详细见

后面的说明在“如何时查询个人的请假历史数据”中有提到。

点击生成物理表

 澳门新葡亰平台游戏网站 4

到此数据库表就配置完成了。

$width 指定编辑器的宽度

1、增加栏目字段后,

1.3.2. 数据对象定义

点击“新增”,选择上面定义好的数据库表

 澳门新葡亰平台游戏网站 5

点击编辑子表可以添加子表,由于请假表没有子表,所以可忽略。

 澳门新葡亰平台游戏网站 6

至此,数据对象字义已完成。

$height 指定编辑器的高度

,就可以看到我们增加的字段:

1.3.3. 表单定义

表单定义是很重要的一环节,需要定义字段的控件元素。

新增一个表单定义,选择你刚才配置的数据对象

点击编辑元素字段,如下图:

 澳门新葡亰平台游戏网站 7

澳门新葡亰平台游戏网站 8

选择数据对象中的字段后效果如下图所示:

澳门新葡亰平台游戏网站 9

编辑每个字段的控件类型,如下图编辑姓名字段,由于申请人的姓名是不需要用户自己来输入的,通过配置默认值来自动填写:

 澳门新葡亰平台游戏网站 10

所在部门也是和姓名同理,通过配置默认值来达到提起流程时自动填写。

 

 

配置请假类别,因为请假类型是一个选项,我们可以从数据库在配置,通过自定义、数据字典,或Sql来获取选项。下面是通过自定义选项的配置;

 澳门新葡亰平台游戏网站 11

 澳门新葡亰平台游戏网站 12

 

配置申请日期,由于申请日期用的是CreatedTime创建时间,在意义上是相同的,主要是用于后面列表的默认排序字段,通过默认获取当前时间来设置申请日期。

澳门新葡亰平台游戏网站 13
设置申请人ID,由于申请人ID是不需要被显示的,同时也是不需要用户自己来输入的所以我们配置申请人ID为隐藏域,同时设置默认值为当前登录者ID,如下图

澳门新葡亰平台游戏网站 14

提示:我们在实际开发使用过程中经常要用到各个身份的ID作为来维护数据的关系,比如用户ID,部门ID是最常见的,所以这些ID都通过隐藏域和设置默认值来实现数据自动填写和存储到你自定义的数据库表中。这些值都能通过默认值或高级控件“自定义选择器”和“自定义选择对话框”来实现。

例如:在文章模块发布文章时的内容编辑采用可视化编辑器的代码如下

2、增加/修改栏目页面也可以看到我们增加的栏目字段,如图:

1.3.4. 配置表单应用

需要将上面定义的请假在线表单定义应用成一个表单应用供流程引擎调用,如下图所示:

 澳门新葡亰平台游戏网站 15

编辑表单Html模板如下图,点击生成表单模板,调整布局格式后如下图所示:

 澳门新葡亰平台游戏网站 16

点击保存。

 

 

 

 

 

致此表单定义完成。

2、验证码的调用方法

三、栏目字段调用说明:字段调用说明:使用内置调用栏目自定义字段函数:ReturnClassAddField(栏目ID,字段名),栏目ID=0为当前栏目ID。取多个字段内容可用逗号隔开,例子:取得classtext字段内容:$value=ReturnClassAddField(0,classtext);
//$value就是字段内容。取得多个字段内容:$value=ReturnClassAddField(1,classid,classtext);
//$value[classtext]才是字段内容。范例1:显示当前栏目的“diyclassf”字段的内容。diyclassf字段内容为:

1.4. 如何配置请假流程

配置流程定义请参见流程定义相关帮助,这些不再赘述。

配置表单应用

 澳门新葡亰平台游戏网站 17

 

表单表单权限,表单权限分为读和写,可以配置哪些字段在哪个环节或都此人可见可编辑的权限。首先分析请假表业务,所有字段都在开始的时候由提单人填写,并且申请人姓名和申请时间提单人不能填写只能由系统默认生成。下面我们来达到这效果的配置。

 澳门新葡亰平台游戏网站 18

先通过批量设置,再单独设置个别的字段,如下图:

 澳门新葡亰平台游戏网站 19

 

根据业务需求,所有字段只能在提单时填写,设置如下:

 澳门新葡亰平台游戏网站 20

 

单独设置:申请人姓名和申请日期,因为这两个字段提单人也不能修改。通过选择“空环节”来达到任何环节都不能编辑此字段的效果。

 澳门新葡亰平台游戏网站 21

 

此致表单配置完成

最后发起流程,申请日期是灰色不可编辑,同时已是当前时间,效果如下:

 澳门新葡亰平台游戏网站 22

 

在模板中调用验证码

?=ReturnClassAddField(0,'diyclassf')?

1.5. 如何查询我个人的请假历史数据

下面来看看如何查询我个人请假的历史表单内的数据,也就是最开始的时候我们定义的请假数据库表中的数据。效果如下:

 澳门新葡亰平台游戏网站 23

那么我们仅需要配置一个系统菜单,菜单的地址规则如下:

/SingleQuery/MySearch/?appId=流程应用ID&tableName=数据库表名

延展:如果你的数据库表字段中没有CreatedId和CreatedTime那么也可以把在地址后面增加sortName参数和creatorId参数,对应的值就是字段名称,用于指定对应分别代表这两个字段。如下

/SingleQuery/MySearch/?appId=AB&tableName=cust_qjsqb&sortName=默认排序字段名&
creatorId=创建人字段名

请假数据个人查询的地址是:

/SingleQuery/MySearch/?appId=AB&tableName=cust_qjsqb

 澳门新葡亰平台游戏网站 24

通过点击配置的菜单显示数据库列表如下,以下是通过配置好列表表头的效果,一开始出来的列表将会是所有字段,我们需要配置一些显示哪一些字段,哪一些字段隐藏,哪一些字段做为查询条件。

 澳门新葡亰平台游戏网站 25

澳门新葡亰平台游戏网站 26

 

是否Sql输出:指的是列表展现数据时不查询此字段,由于大文本字段非常庞大并且字段内容可会有一些是Html或Json的数据,如果查询出来会导致列表的数据源非常大,不利于展现显示,强烈性建议把大本的字段去掉Sql输出的勾选,并且Grid列隐藏打上勾。

如果仅是是Grid列隐藏打勾并不影响Json数据的正常输出,只是没有在列表中显示。依然还是能通过EasyUI的Row能获取得到Grid列隐藏的数据,如果把Sql输出去除勾选则EasyUI的row中也不存在此字段的属性。

冻结列:冻结列的好处在于浏览器大小变化时不影响列表的展示和查看,更好的浏览效果,通常列表要冻结前四列。

 澳门新葡亰平台游戏网站 27

 

 

日期字段市里为搜索条件时浏览:需要把是否可编辑勾选上,如下图

 澳门新葡亰平台游戏网站 28

日期查询参数,默认所有查询方式都是like,对于日期使用like无意义,可修改为大于等于,如下图

 

 澳门新葡亰平台游戏网站 29

具体参考系统请假示例的配置。

致此配置完成。

澳门新葡亰平台游戏网站 30

范例2:显示栏目ID=6的“diyclassf”和“diyclassf2”这两个字段的内容。

1.6. 如何让管理员查询所有请假的数据

配置让管理员查询到所有人的请假数据库表数据和上面的配置相同,只是不会过虑当前用户的数据,将显示请假表数据库中的所有数据,区别仅是菜单地址的不同。

本节不需要配置表头,由于在上一小节中已经配置过了。

菜单地址格式:

/SingleQuery/ListSearch/?appId=应用ID&tableName=数据库表名

请假如下效果的地址是:/SingleQuery/ListSearch/?appId=AB&tableName=cust_qjsqb

澳门新葡亰平台游戏网站 31

 

验证验证码是否正确的php代码

?php$cfr=ReturnClassAddField(6,'diyclassf,diyclassf2');?

checkcode($checkcodestr, $PHPCMS[‘enableadmincheckcode’],
$PHP_REFERER);

diyclassf字段内容为:

该函数原型如下:

?=$cfr['diyclassf']?

checkcode($checkcode, $enable = 1, $forward = ”)

diyclassf2字段内容为:

$checkcode 为用户输入的值,$enable 为当前验证码是否启用,$forward
指定当用户输入的验证码错误后的跳转地址

?=$cfr['diyclassf2']?

3、模板调用方法

前台

include template($mod, $file);

$mod 为模板所属的模块,$file 为模板去后缀 .html 后的文件名

后台

include admintpl($file);

$file 为模板去后缀 .tpl.php 后的文件名

4、生成html的方法

首先把创建html的php程序存放到模块目录的 include/createhtml/
目录下,然后通过 createhtml($filename, $mod_root=””)
函数来调用并生成html

$filename 为 include/createhtml/ 目录下去了 .inc.php
后的文件名,$mod_root 为当前模块目录的物理路径,可省略

例如以下代码可以生成文章ID号为1的文章html页:

$articleid = 1;

createhtml(‘show’) ;

关于生成html的详细方法参见文章模块代码(./module/article/)

5、给标题进行颜色和是否加粗的控制调用方法

首先应该在标题所在的数据表中创建一个 style
字段来存放样式值,然后在模板中标题的输入框旁边插入以下代码:

添加信息时:

编辑信息时:

系统将根据 $inputname
变量的值创建一个隐藏表单,和标题一样,该表单值会随着表单的提交而发送给php,应该把该值存放到
style 字段。

在显示标题时,需要使用以下代码:

$title = style($title, $style);

6、后台子菜单调用方法

类似以下代码

$submenu = array

(

array(“管理首页”,
“?mod=”.$mod.”&file=”.$file.”&channelid=”.$channelid.”&action=manage”),

array(“添加栏目”,
“?mod=”.$mod.”&file=”.$file.”&channelid=”.$channelid.”&action=add”),

array(“合并栏目”,
“?mod=”.$mod.”&file=”.$file.”&channelid=”.$channelid.”&action=join”),

array(“栏目数据修复”,
“?mod=”.$mod.”&file=”.$file.”&channelid=”.$channelid.”&action=repair”)

);

$menu = adminmenu(“栏目管理”,$submenu);

7、操作提示信息调用方法

showmessage($msg, $url_forward = ”);

$msg 为提示信息,$url_forward 为跳转地址

8、用户组选择框的调用方法

showgroup($type = ‘select’, $name = ‘groupid’, $checked = ”, $perline =
5)

$type 可选值为 select 、 checkbox 、radio
,分别可以产生下拉菜单、复选框、单选按钮

$name 为要创建的表单名

$checked 为选定的值

$perline 当显示类型为单选或者复选时用来控制每行的显示个数

此方法在按用户组设置权限时需要用到

9、模板选择下拉框调用方法

showtpl($module = ‘phpcms’, $type = ‘index’, $name = ‘templateid’,
$templateid = 0, $property = ”)

$module 为要调用的模板所属的模块

$type 为模板类型名,比如首页模板类型为 index

$name 为下拉框表单名

$templateid 被选定的模板名

$property 表单附加属性,比如js或者id可以在这里写

10、风格选择下拉框调用方法

showskin($name = ‘skinid’, $skinid = ”, $property = ”)

$name 为下拉框表单名

$skinid 为选定的风格名

$property 表单附加属性,比如js或者id可以在这里写

11、频道选择下拉框调用方法

channel_select($module = ”, $name = ‘channelid’, $defaultalt = ”,
$channelid = 0, $property = ”)

$module 指定频道所属模块,如果不指定则生成所有频道的下拉选择

$name 下拉表单名

$defaultalt 默认选中的提示信息,比如可写“请选择频道”

$channelid 选中的频道id

$property 表单附加属性,比如js或者id可以在这里写

12、栏目选择下拉框调用方法

category_select($name = ‘catid’, $defaultalt = ”, $catid = 0,
$property = ”)

$name 为下拉表单名

$defaultalt 默认选中的提示信息,比如可写“请选择栏目”

$catid 选中的栏目id

$property 表单附加属性,比如js或者id可以在这里写

在调用此函数前应该先加载 ./include/tree.class.php 并实例化 tree
类创建好一个 $tree 对象

此函数默认产生当前频道的栏目下拉框

13、专题选择下拉框调用方法

special_select($channelid = 0, $name = ‘specialid’, $defaultalt =
‘请选择专题’, $specialid = 0, $property = ”)

$channelid 指定专题所属的频道

$name 为下拉表单名

$defaultalt 默认选中的提示信息,比如可写“请选择专题”

$specialid 选中的专题id

$property 表单附加属性,比如js或者id可以在这里写

14、专题子分类选择下拉框调用方法

special_type_select($specialid, $name = ‘special_typeid’, $defaultalt
= ‘请选择子类’, $typeid = 0, $property = ”)

$specialid 指定专题id

$name 为下拉表单名

$defaultalt 默认选中的提示信息,比如可写“请选择子分类”

$typeid 选中的子分类id

$property 表单附加属性,比如js或者id可以在这里写

15、附属分类调用方法

type_select($typeids, $name = ‘typeid’, $defaultalt = ‘类别’, $typeid =
0, $property = ”)

$typeids
当前频道或者模块所选用的所有子分类id,可以是数组,也可以是逗号分割开的数字字串

$name 为下拉表单名

$defaultalt 默认选中的提示信息,比如可写“请选择分类”

$typeid 选中的分类id

$property 表单附加属性,比如js或者id可以在这里写

16、url规则选择下拉框调用方法

urlrule_select($name, $fileext = ‘html’, $type = ‘cat’, $urlruleid = 0,
$property = ”)

$name 为下拉表单名

$fileext 可选值为 html 和 php

$type 可选值为 cat、item、special

$urlruleid 选中的url规则id

$property 表单附加属性,比如js或者id可以在这里写

17、单网页选择下拉框调用方法

page_select($channelid = 0, $property = ”)

$channelid   指定单网页所属频道id

$property 表单附加属性,比如js或者id可以在这里写

18、模块配置保存方法

每个模块都应该有自己的配置信息,可以自己根据需要来建立配置表单,保存的时候统一根据

module_setting($module, $setting)

来进行配置保存

$module 为配置所属的模块

$setting 为模块配置所组成的数组

参见:./admin/setting.inc.php

19、在可复制模块中调用栏目管理的方法

添加栏目:?mod=phpcms&file=category&action=add&channelid=1

管理栏目:?mod=phpcms&file=category&action=manage&channelid=1

合并栏目:?mod=phpcms&file=category&action=join&channelid=1

其中 channelid 参数应该为当前频道 ID

20、在可复制模块中调用专题管理的方法

添加专题:?mod=phpcms&file=special&action=add&channelid=1

管理专题:?mod=phpcms&file=special&action=manage&channelid=1

合并专题:?mod=phpcms&file=special&action=join&channelid=1

其中 channelid 参数应该为当前频道 ID

21、在可复制模块中调用附属分类管理的方法

url: ?mod=phpcms&file=type&action=setting&channelid=1

其中 channelid 参数应该为当前频道 ID

22、在独立模块中调用栏目管理的方法

请自行参考 ./product/admin/category.inc.php

23、在独立模块中调用附属分类管理的方法

url: ?mod=phpcms&file=type&action=setting&module=product

其中 module 参数应该为当前模块名

24、自定义字段功能的调用方法

phpcms自定义字段功能是通过给数据表增加前缀为 my_
的字段来实现的,适用于所有带信息发布的模块和频道,下面讲一下调用方法:

在频道或者模块的导航中做一个链接,例如文章模块调用url为:

?mod=phpcms&file=field&action=manage&channelid=1&tablename=phpcms_article_1

注意:tablename 为要定义字段的数据表名,这个参数不能少

那么在发表文章的程序中显示自定义字段表单应该这样得到:

require PHPCMS_ROOT.’/admin/include/field.class.php’;

$field = new field(‘phpcms_article_1’);

$fieldform = $field->get_form(‘tablerow’); // tablerow 为css样式名

文章发表时自定义自段的内容应该这样保存:

$field->update(‘articleid=1’); // articleid=1 这个表示更新 articleid
为 1 的文章的自定义自段内容

前台显示自定义自段内容的方法和显示标题 title 类似

25、得到栏目下级栏目信息得调用方法

subcat($keyid, $catid = 0, $type = ‘menu’);

$keyid 可以是 频道id , 也可以是模块英文名

$catid 为栏目ID

$type 可选值为 menu 或 list,分别表示导航和列表

26、得到当前位置得方法

前台:catpos($catid, $s = ‘>>’);

后台:admin_catpos($catid, $s = ‘>>’);

27、发送邮件的方法

require PHPCMS_ROOT.’/include/mail.inc.php’;

if(sendmail(“[email=phpcms@163.com,phpcms@163.com]phpcms@163.com,phpcms@163.com[/email]”,
“邮件主题”, “邮件内容”, “测试<>”))

echo “发送成功”;

else echo “失败”;

函数原型:sendmail($mail_to, $mail_subject, $mail_body, $mail_from =
”)

$mail_to:可以是 user@example.com user@example.com,
anotheruser@example.com User User , Another User $mail_from:可以是 或
User

28、日期选择的调用方法

date_select($name, $value = ”, $format = ‘yyyy-mm-dd’)

$name 是表单名

$value 是表单的默认值,例如:2006-12-16

$format 日期格式,一般这个参数不用指定

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图