找不到帮助文档?你想要哪方面的帮助教程?提交文档建议 >
帮助文档首页
DiYunCMS公众号
公众号二维码

列表显示字段回调函数大全

更新时间:2023-04-27 加入收藏
0

回调是用于在列表显示时对其值进行格式化,如果不填写回调函数,那么就会原样显示数据库储存内容,如果内置的回调函数满足不了需求,也可以自己定义回调函数。


一、CMS内置的回调函数:

文本显示:dr_clearhtml
标题: title
评论专用: comment
多文件: files
uid会员: uid
栏目: catid
副栏目:catids
日期时间: datetime
日期: date
会员信息: author
地区联动: linkage_address
联动菜单(单选)名称: linkage_name
联动菜单(多选)名称: linkages_name
单选字段名称: radio_name
下拉字段名称: select_name
复选框字段名称: checkbox_name
实时存储文本值:save_text_value
实时存储选择值:save_select_value
单文件:file(4.5.3版本支持)
图片专用:image(4.5.3版本支持)
去掉html代码:text(4.6版本支持)
将html字符编码输出:code(4.6版本支持)
原样输出:get_value


二、自定义回调函数

如果内置的回调函数满足不了需求,也可以自己定义回调函数

1、新建扩展类文件/dayrui/My/Library/Function_list.php

<?php namespace My\Library;

class Function_list extends \Phpcmf\Library\Function_list
{

    // mytest是回调函数的名字
    // $value是传入的数据库值
    // $param是列表搜索的参数,可以忽略
    // $data是列表显示的全部值,可以忽略
    function mytest($value, $param = [], $data = []) {
        // 下面给传入的值加粗操作
        $html = '<b>'.$value.'</b>';
        return $html; // 这样返回的值就带加粗标签
    } 


}


示例1:

回调函数filesthumb,如果多文件字段上传了,就显示一个图标。

<?php namespace My\Library;

class Function_list extends \Phpcmf\Library\Function_list
{

    // mytest是回调函数的名字
    // $value是传入的数据库值
    // $param是列表搜索的参数,可以忽略
    // $data是列表显示的全部值,可以忽略
    // $field是当前数据的字段属性数组,可以忽略
    function filesthumb($value, $param = [], $data = [], $field = []) {
        // 下面给传入的值加粗操作
        $html = $value ? '<i class="fa fa-photo"></i>' : '没有';
        return $html; // 这样返回的值就带加粗标签
    }


}

image


示例2:Related内容关联字段调用信息名称

比如,创建Related内容关联字段,只能选择1次,那么存储在数据库中的值就是选择的信息ID,在后台列表显示的也是这个ID,如何显示这个ID的信息标签呢。

<?php namespace My\Library;

class Function_list extends \Phpcmf\Library\Function_list
{

    // renyuanname是回调函数的名字
    // $value是传入的数据库值
    // $param是列表搜索的参数,可以忽略
    // $data是列表显示的全部值,可以忽略
    // $field是当前数据的字段属性数组,可以忽略
    //renyuan 是被关联的模块,也是要显示标题的表。
    
    function renyuanname($value, $param = [], $data = [], $field = []) {
        // 下面给传入的值加粗操作
 $renyuan = \Phpcmf\Service::M()->table_site('renyuan')->where('id', $value)->getRow();
 $html = ''.$renyuan['title'].'';
        return $html; // 这样返回的值就带加粗标签
    } 


}



image


--
有帮助
--
没帮助
0
收藏
0
打赏
相关文档
Hello,欢迎来咨询~
点击在线咨询