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']);
}
相关推荐
渣渣盟10 小时前
网络命令大全:轻松解决网络故障
开发语言·php
百***074511 小时前
gpt-image-1.5国内API稳定接入全方案(含多模态实操)
开发语言·gpt·php
小韩博11 小时前
小迪第42课:PHP应用&MYSQL架构&SQL注入&跨库查询&文件读写&权限操作
sql·mysql·网络安全·架构·php
天聚数行12 小时前
华为鸿蒙系统(HarmonyOS)调用天聚数行 API 教程
华为·php·harmonyos·tianapi·天聚数行
TG:@yunlaoda360 云老大13 小时前
如何在华为云国际站代理商控制台进行基础状态核查的常见问题解答
数据库·华为云·php
程序员在囧途14 小时前
Sora2 25 秒视频 API 国内直连!10 积分/次,稳定秒退任务,支持 avatar & Remix(附 PHP 接入教程)
后端·开源·php
峰顶听歌的鲸鱼14 小时前
15.docker:网络
运维·网络·docker·容器·云计算·php·学习方法
catchadmin14 小时前
使用 PHP 和 WebSocket 构建实时聊天应用 完整指南
开发语言·websocket·php
郑州光合科技余经理14 小时前
技术解析:如何打造适应多国市场的海外跑腿平台
java·开发语言·javascript·mysql·spring cloud·uni-app·php
m0_4856146715 小时前
Docker基础
docker·容器·php