业务经理

微信扫描以上二维码

028-61286886

技术咨询

自定义字段格式化字段,前端控制器如何处理

迅睿框架 更新 2025-06-26 11:34:08 爬树蜗牛

捣鼓了一个 单个页面的插件,主要是为了添加自定义字段,前端控制器是

public function company()
    {
        $data = \Phpcmf\Service::M('home', 'Card')->getRowData('1_card_company');
        $tpl = 'company.html';
        if (isset($data['template']) && $data['template']) {
            $tpl = $data['template'];
        }
        if ($data) {
            foreach ($data as $k => $v) {
                \Phpcmf\Service::V()->assign($k, $v);
            }
        }
        \Phpcmf\Service::V()->display($tpl);
    }

已经能直接通过 {$logo}{$duowenjian}获取到数据["8"]{"file":["9","10"],"title":["",""],"description":["",""]}
下一步好像看到要格式化数据,才能正常处理,寻求一个解决方案的?


方案

  • 迅睿官方技术专家 #1 · 2025-06-25 14:48:07
    dr_get_files多文件
  • 爬树蜗牛 #2 · 2025-06-25 14:53:52
    {loop $duowenjian $i $c}
    标题:{$c.title}
    文件原始地址:{dr_get_file($c.file)}
    图片缩略图:{dr_thumb($c.file, 200, 200)}
    {/loop}
    使用了这个前端代码调用不出来数据,因为各种字段较多,包括图片,所以想在控制器里处理一下的?
    借鉴page是这样的
    $data = \Phpcmf\Service::M('home', 'Card')->getRowData('1_card_company');
    
        // 1. 获取字段配置
        $field = \Phpcmf\Service::L('cache')->get('card-'.SITE_ID.'-field');
    
        // 2. 格式化字段(自动处理多文件、图片等类型)
        $data = \Phpcmf\Service::L('field')->format_value($field, $data, 1);
    但我们没使用 cache,但知道数据库表等信息,有没办法处理一下的?
  • 迅睿官方技术专家 #3 · 2025-06-25 15:11:56
    $data = \Phpcmf\Service::M('home', 'Card')->getRowData('1_card_company');
    
        // 1. 获取字段配置
        $field = \Phpcmf\Service::L('cache')->get('card-'.SITE_ID.'-field');
    forearch($data as $a => $b) {
        // 2. 格式化字段(自动处理多文件、图片等类型)
        $data[$a] = \Phpcmf\Service::L('field')->format_value($field, $b, 1);
        
        }
  • 爬树蜗牛 #4 · 2025-06-25 15:30:37
     $field = \Phpcmf\Service::L('cache')->get('card-'.SITE_ID.'-field');
    这个 应该也是我写的不对的的, dr_1_card_company,这是我的数据表,感谢感谢
  • 爬树蜗牛 #5 · 2025-06-25 16:51:35
    $data = \Phpcmf\Service::M('home', 'Card')->getRowData('1_card_company');
    
            // 获取字段配置
            $field = \Phpcmf\Service::M()->table('field')->where([
                'relatedname' => 'table-1_card_company'
            ])->getAll();
            foreach ($data as $a => $b) {
                $data[$a] = \Phpcmf\Service::L('field')->format_value($field, $b, 1);
                print_r($data[$a]);
            }
    调整了控制器,获取到的值,还是 ["8"]{"file":["9","10"],"title":["",""],"description":["",""]}这样的?
  • 迅睿官方技术专家 #6 · 2025-06-25 17:10:06
    满意答案

    QQ_1750842581217
    $field参数格式不对,参考下 dayrui/fcms/core/view.php
  • GoWorkRoom #7 · 2025-06-26 10:49:00
    $field没获取对
  • 爬树蜗牛 #8 · 2025-06-26 11:34:08
    @迅睿官方技术专家:已经完结,官方和小伙伴们

迅睿系统漏洞

独立站群系统
独立站群系统(2026-09-14)
子站独立部署时修复同步附件失败问题
在线客服
在线客服(2026-09-13)
修复删除会话报错问题 删除会话时联动删除聊天图片
在线考试竞赛系统
在线考试竞赛系统(2026-09-12)
增加投票功能 考试功能拓展 注意:更新后需要执行系统更新,更新数...
网上信箱
网上信箱(2026-09-12)
修复新版本兼容问题
GeoSeo收录宝
GeoSeo收录宝(2026-09-12)
1 优化Update.php文件,解决版本在线升级不完整问题 2 ...
GeoSeo工具箱
GeoSeo工具箱(2026-09-11)
修正历史记录推送
微信系统
微信系统(2026-09-11)
增加数据统计总览界面 账号管理增加服务和公众号的区别 菜单管理支持更...
答题系统
答题系统(2026-09-11)
一站式在线答题系统,支持真题考试、题库练习和错题本,适合培训、考证、...
阿里云滑动验证码
阿里云滑动验证码(2026-09-10)
采用阿里云验证码替换迅睿系统自带的图片验证码和滑动验证码。后台设置方...
下载Plus
下载Plus(2026-09-09)
为网站附件下载加上“计数、限次、统计、防护”四重能力:按用户组控制下...