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

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

更新时间:2024-11-24 加入收藏
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、打开自定义函数文件:config/custom.php

这里定义的函数是全站通用的,也可以创建插件专用的回调函数,文件就是:/dayrui/App/应用目录/Config/Hooks.php

    // mytest是回调函数的名字
    // $value是传入的数据库值
    // $param是列表搜索的参数,可以忽略
    // $data是列表显示的全部值,可以忽略
    // $field是当前数据的字段属性数组,可以忽略
    function mytest($value, $param = [], $data = [], $field = []) {
        // 下面给传入的值加粗操作
        $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,欢迎来咨询~
点击在线咨询