fastadmin自定义键值组件Fieldlist

需求场景:

后台设置前端的固定话费充值金额。编辑时要求能够增删改,给到前端的数据,是要根据金额正序排列,用fastadmin的键值组件(Fieldlist),使用Art-Template模板语法自定义模板。

最终效果如下图所示:

在编辑页面,增加如下代码:

html 复制代码
<dl class="fieldlist" data-name="row[recharge_money]" data-template="moneytpl">
    <dd>
        <ins>固定充值金额</ins>
    </dd>
    <dd>
        <a href="javascript:;" class="btn btn-sm btn-success btn-append"><i class="fa fa-plus"></i> 追加</a>
    </dd>
    <textarea name="row[recharge_money]" class="form-control hide" cols="30" rows="5">{$row.recharge_money}</textarea>
</dl>
html 复制代码
<!--定义模板,模板语法使用Art-Template模板语法-->
<script type="text/html" id="moneytpl">
    <dd class="form-inline">
        <input type="number" name="[<%=index%>][value]" class="form-control" value="<%=value%>" size="10">
        <span class="btn btn-sm btn-danger btn-remove"><i class="fa fa-times"></i></span> <span class="btn btn-sm btn-primary btn-dragsort"><i class="fa fa-arrows"></i></span>
    </dd>
</script>

在控制器中,将接收到的金额,根据金额大小进行正序排列。

php 复制代码
if (stripos($params['recharge_money'], 'value')) {
    // 对有修改的充值金额的情况,进行重新整理
    $params['recharge_money'] = json_decode($params['recharge_money'], true);
    $params['recharge_money'] = array_column($params['recharge_money'], 'value');
    sort($params['recharge_money']);
    $params['recharge_money'] = json_encode($params['recharge_money']);
}
相关推荐
别慌,让我先缓缓2 小时前
HTML5后台管理界面开发
html5
言之。3 小时前
别学了,打会王者吧
java·python·mysql·容器·spark·php·html5
卓怡学长7 小时前
w304基于HTML5的民谣网站的设计与实现
java·前端·数据库·spring boot·spring·html5
大溪地C10 小时前
HTML5 详细学习笔记
笔记·学习·html5
帅云毅11 小时前
文件上传--解析漏洞和编辑器
笔记·学习·安全·web安全·编辑器·php
wt_cs11 小时前
身份证实名认证接口数字时代的信任基石-node.js实名认证集成
开发语言·node.js·php
胡译胡说15 小时前
PHP核心开发者Nikita的首次提交,就实现了个寂寞啊
php
老李不敲代码16 小时前
榕壹云预约咨询系统:基于ThinkPHP+MySQL+UniApp打造的灵活预约小程序解决方案
mysql·微信小程序·小程序·uni-app·php
fakaifa16 小时前
【最新版】西陆健身系统源码全开源+uniapp前端
前端·小程序·uni-app·开源·php·约课小程序·健身小程序
万岳软件开发小城20 小时前
基于PHP+Uniapp的互联网医院源码:电子处方功能落地方案
开发语言·uni-app·php·软件开发·互联网医院系统源码·智慧医院app