ѡ̳
标题: 万能字段说明 [打印本页]
作者: admin 时间: 2019-2-18 14:09
标题: 万能字段说明
phpcms后台内容模块->模型管理->添加字段功能很强大,你只需在phpcms的后台面板进行操作,不用在数据库中手动建表,也不用操作数据库增加或删除字段,添加好了字段和类型,发布内容的时候,表单上自动显示你要的字段和类型,这样方便了很多,包括表单验证,排序等所有功能都做好了。
phpcms还提供了一个字段叫万能字段,用户可以自定义字段的更多功能。
设置自定义表单:
<input type='text' name='info[game_swf]' value='{FUNC(show_date~~{FIELD_VALUE})}'>
比如这里有个文本框,我需要在填写表单的时候,框子中默认显示一个路径,/yx/swf/201312/,然后后面内容再人工填写,所以只能选择phpcms里的万能字段,但是value里面不能写{php …}这样的形式,也不能用<?php … ?>语法,它都会给你过滤掉。
这个时候要用到phpcms提供的一个调用函数的方式,语法是{FUNC(function~~params)},这样就可以调用自定义的php方法了,function是函数名,两个~~后面接着是参数。
比如我在phpcms扩展函数文件extension.func.php里添加了函数:
/**
* game_swf万能字段判断如果添加的时候默认显示/yx/swf/201306/
*/
function show_date($field){
if(''==$field){
return '/yx/swf/'.date("Ym").'/';
}else{
return $field;
}
}
它的功能是传入当前万能表单字段名:game_swf 的value值{FIELD_VALUE},如果为空则显示’/yx/swf/’.date(“Ym”).’/’,否则编辑的时候就原样显示。这样就解决了问题。
这也是万能字段万能的所在。
使用方法二:
<select name='info[huodong]' >
<option value='0' >请选择活动</option>
{FUNC(select_huodong~~{FIELD_VALUE})}
</select>
使用方法三
可以关联其他万能附属字段,附属字段不会显示 只会在万能字段的表单里面显示
比如新增了另外两个字段wangneng_a wangneng_b 则可以这样调用。
{wangneng_a} , <p> {wangneng_b} </p>
作者: admin 时间: 2019-2-19 11:52
{FUNC(select_huodong~~{FIELD_VALUE})}
参数可以写的有: {FIELD_VALUE} 当前字段值 ,{MODELID} 当前模型id, {ID},当前表的id.(默认的不支持需要改)
还可以填写 ‘Y-m-d’, ‘###’ 等字符。 只支持一个参数 但可以写在一起,函数里面区分。
作者: admin 时间: 2019-2-19 13:40
如果要支持参数{ID} 需要改写 phpcms\modules\content\fields\omnipotent\form.inc.php
function omnipotent($field, $value, $fieldinfo) {
extract($fieldinfo);
$formtext = str_replace('{FIELD_VALUE}',$value,$formtext);
$formtext = str_replace('{MODELID}',$this->modelid,$formtext);
后面增加
$formtext = str_replace('{ID}', $this->id ? $this->id : 0, $formtext);
去掉后面的
$id = $this->id ? $this->id : 0;
$formtext = str_replace('{ID}',$id,$formtext);
然后更新缓存
| 欢迎光临 ѡ̳ (http://www.sunminxuan.cn/bbs/) |
Powered by Discuz! X3.4 |