开发教程
关注DiYunCMS公众号
公众号二维码

后台显示字段回调

更新时间:2020-08-19 加入收藏

image

回调是用于在列表显示时对其值进行格式化,如果不填写回调函数,那么就会原样显示数据库储存内容。

CMS默认的回调函数有:

标题: title
评论: comment
多文件: files
uid会员: uid
地区联动: linkage_address
栏目: catid
时间: datetime
会员信息: author


如果需要其他回调方法怎么办?我们也提供开发者自己定义回调函数的方案

新建扩展类文件/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; // 这样返回的值就带加粗标签
    } 


}



Hello,欢迎来咨询~
点击在线咨询