您现在的位置是:首页 > cms教程 > phpcms教程phpcms教程
PHPCMSV9二次开发自定义字段模型的方法
冰夏2025-05-29phpcms教程已有人查阅
导读打开phpcms\modules\content\fields目录,复制文件夹downfiles,并改名为textgroups。打开phpcms\modules\content\fields\fields.inc.PHP文件,增加字段类型:
步骤/方法
打开phpcms\modules\content\fields目录,复制文件夹downfiles,并改名为textgroups。打开phpcms\modules\content\fields\fields.inc.PHP文件,增加字段类型:
form.inc.php
注意修改几个文件中的函数名称,这个很容易忽略。注意文件内容中引号的闭合和JS代码。
打开phpcms\modules\content\fields目录,复制文件夹downfiles,并改名为textgroups。打开phpcms\modules\content\fields\fields.inc.PHP文件,增加字段类型:
'textgroups'=>'多文件上传',
打开phpcms\modules\content\fields\textgroups目录(第一步复制的文件夹),修改以下文件:form.inc.php
function textgroups($field, $value, $fieldinfo) {
extract(string2array($fieldinfo['setting']));
$list_str = '';
if($value) {
$value = string2array(html_entity_decode($value,ENT_QUOTES));
if(is_array($value)) {
foreach($value as $_k=>$_v) {
$list_str .= "<div id='textsgroups{$_k}'> <input type='text' name='{$field}_fx[]' value='{$_v[fx]}' style='width:100px;' class='input-text'> <input type='text' name='{$field}_fj[]' value='{$_v[fj]}' style='width:100px;' class='input-text'> <input type='text' name='{$field}_cx[]' value='{$_v[cx]}' style='width:100px;' class='input-text'> <input type='text' name='{$field}_kd[]' value='{$_v[kd]}' style='width:100px;' class='input-text'> <input type='text' name='{$field}_vip[]' value='{$_v[vip]}' style='width:100px;' class='input-text'> <a href=\"JavaScript:remove_div('textsgroups{$_k}')\">".L('remove_out')."</a></div>";
}
}
}
$string ='<script type=text/javascript>
function add_textsfile(returnid) {
var ids = parseInt(Math.random() * 10000);
var str = "<li id=\'textsgroups"+ids+"\'> <input type=\'text\' name=\'"+returnid+"_fx[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <input type=\'text\' name=\'"+returnid+"_fj[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <input type=\'text\' name=\'"+returnid+"_cx[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <input type=\'text\' name=\'"+returnid+"_kd[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <input type=\'text\' name=\'"+returnid+"_vip[]\' value=\'\' style=\'width:100px;\' class=\'input-text\'> <a href=\"javascript:remove_div(\'textsgroups"+ids+"\')\">Remove</a> </li>";
$(\'#\'+returnid).append(str);
}</script>';
$string .= '<input name="info['.$field.']" type="hidden" value="1">
<fieldset class="blue pad-10">
<legend>'.L('mm_fxlist').'</legend><div id="tt">
<input type="text" value="'.L('mm_fx').'" readonly style="width:100px;border:0;" class="input-text">
<input type="text" value="'.L('mm_fj').'" readonly style="width:100px;border:0;" class="input-text">
<input type="text" value="'.L('mm_cx').'" readonly style="width:100px;border:0;" class="input-text">
<input type="text" value="'.L('mm_kd').'" readonly style="width:100px;border:0;" class="input-text">
<input type="text" value="'.L('mm_lyj').'" readonly style="width:100px;border:0;" class="input-text">
</div>';
$string .= $list_str;
$string .= '<ul id="'.$field.'" class="picList"></ul>
</fieldset>
<div class="bk10"></div>
';
$string .= $str."<input type=\"button\" class=\"button\" value=\"".L('mm_addfx')."\" onclick=\"add_textsfile('{$field}')\">";
return $string;
}
修改input.inc.php
function textgroups($field, $value) {
$hotel = $_POST[$field.'_fx'];
$hotel_fj = $_POST[$field.'_fj'];
$hotel_cx = $_POST[$field.'_cx'];
$hotel_kd = $_POST[$field.'_kd'];
$hotel_vip = $_POST[$field.'_vip'];
$array = $temp = array();
if(!empty($hotel)) {
foreach($hotel as $key=>$hote) {
$temp['fx'] = $hote;
$temp['fj'] = $hotel_fj[$key];
$temp['cx'] = $hotel_cx[$key];
$temp['kd'] = $hotel_kd[$key];
$temp['vip'] = $hotel_vip[$key];
$array[$key] = $temp;
}
}
$array = array2string($array);
return $array;
}
修改的output.inc.php
function textgroups($field, $value) {
return string2array($value);
}
更新后台缓存。在模型中新建字段,可以看到文本组,创建后就可以添加。前台调用:
<table>
<tr><th>房型</th><th>房价</th><th>床型</th><th>路游价</th></tr>
{loop $fxinfo $v} <!--$fxinfo为字段名称-->
<tr><td>{$v[fx]}</td><td>¥{$v[fj]}元</td><td>{$v[cx]}</td><td><strong style="color:#f60;font-size:18px;font-family:Tahoma,Helvetica,Arial,sans-serif;">¥{$v[vip]}</strong>元</td></tr>
{/loop}
</table>
注意事项注意修改几个文件中的函数名称,这个很容易忽略。注意文件内容中引号的闭合和JS代码。
本文标签:
很赞哦! ()
相关教程
图文教程
phpcmsv9重名无法通过的解决方法
phpcms v9重名无法通过怎么办?phpcms v9 中 PHPSSO无法通讯解决办法(PHPSSO无法通讯间接影响phpcms v9注册会员无法通过“重名无法通过”)
phpcms怎么连接数据库,修改数据库文件
数据库配置文件位置:caches/configs/database.php我们打开这个配置文件,加入我们的数据库配置信息。数据库配置信息为二维数组结构,默认为default,可以根据
phpcms插件制作使用方法教程
最近在研究PHP,学了一段时间后感觉想自己写点东西,但是又不知道写什么,之后把目标对准了PHPCMS的插件,从网上找了一下,大部分教程都只是教怎么写插件的具体代码
phpcms模型管理,推荐位管理,类别管理
phpcms的默认设置不一定能满足需求,这个时候必须启用【模型管理】,【推荐位管理】,【类别管理】三个高级功能为什么需要使用这些功能呢
相关源码
-
(PC+WAP)玻璃钢不锈钢钢材环保设备pbootcms网站模板采用PbootCMS内核开发的响应式网站模板,为玻璃钢环保设备制造、不锈钢钢材贸易企业设计,适配产品展示及企业服务场景。通过自适应技术实现PC与WAP端数据实时同步查看源码 -
帝国CMS7.5漫画网站模板带手机端源码免费下载本模板为漫画内容平台设计开发,采用帝国CMS7.5内核构建,深度优化漫画作品展示结构与章节管理模式。前端采用响应式布局设计,适配各类漫画阅读场景,提供作品分类、连载追踪、热度排行等垂直领域功能模块。查看源码 -
(自适应响应式)超市仓储仓库货架展架网站pbootcms源码下载本模板为货架展架、仓储货架行业量身打造,采用PbootCMS内核开发,充分考虑了货架产品展示和企业形象展示的需求。模板设计简洁大方,突出产品特点,能够有效展示各类货架产品的规格参数和应用场景,帮助访客快速了解企业核心业务和产品优势。查看源码 -
(自适应响应式)HTML5磁电机械设备蓝色营销型网站pbootcms模板本模板为磁电设备行业设计,采用蓝色营销风格,突出工业设备的专业性和技术感。模板结构清晰,能够有效展示磁电设备的技术参数、应用场景和企业实力,帮助客户快速了解产品特点和公司服务。查看源码 -
(PC+WAP)高端餐饮美食小吃加盟网站模板下载pbootcms本模板基于PbootCMS内核开发,为餐饮美食品牌加盟、小吃连锁企业量身打造。通过精致的美食视觉呈现与加盟业务流程展示,帮助餐饮企业建立专业线上门户,实现品牌形象与加盟业务的双重展示。查看源码 -
(自适应)APP应用软件落地页单页推广页网站模板下载基于PbootCMS内核开发的响应式单页模板,为企业产品展示、服务推广等应用场景设计。通过简洁直观的视觉布局与高效的技术架构,帮助用户快速构建专业级落地页面,实现移动端与PC端数据实时同步展示。查看源码
| 分享笔记 (共有 篇笔记) |
