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']);
}
相关推荐
不正经的小寒8 小时前
PHP 8.1 核心特性
php
SEO_juper11 小时前
CDN 地域节点优化:匹配 GEO 信号,提升加载速度
服务器·ai·php·seo·cdn·geo·谷歌优化
dog25012 小时前
解析几何的现代范式-算力,拟合与对偶
服务器·开发语言·网络·线性代数·php
淘矿人13 小时前
【AI大模型】AI 大模型推理平台完整测评:8 家主流聚合服务对比分析
人工智能·sql·gpt·学习·github·php
XiYang-DING16 小时前
【Java EE】TCP—滑动窗口
tcp/ip·java-ee·php
.千余16 小时前
【Linux】网络基础2---Socket编程预备
linux·网络·php
HelloWorld工程师17 小时前
SM2 (非对称加密)
状态模式
NiceCloud喜云17 小时前
Claude API 流式输出(SSE)实战:从打字机效果到工具调用全流程
java·前端·ide·人工智能·chrome·intellij-idea·状态模式
雪度娃娃17 小时前
Asio异步读写——简单服务器和客户端异步通信
运维·服务器·网络·c++·php
中科三方18 小时前
域名解析修改后,用户仍访问旧IP?原因排查与高效解决指南
网络协议·tcp/ip·php