需要精通PHP程序开发的人员
按照默认CMS的返回数据是非常多的而且非常杂乱,在实际app项目中是不规范的,这时我们可以运用自定义回调方法来对其进行规范,如下图所示:
定义http回调方法
打开或新建文件/config/custom.php,这个文件专门是定义回调方法的
$t['title'], // 标题 'id' => $t['id'], // id号 'catname' => dr_cat_value('news', $t['catid'], 'name'), // news模块的当前内容栏目名称 'thumb' => dr_thumb($t['thumb'], 200, 200), // 图片id转换为地址 'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'), // 时间转换 ]; } } return $rt; }
其中,news_list_data就是方法名称,$data是传入的返回数组,需要你手动格式化显示;
news_list_data本函数用于新闻news模块的列表数据,我的app需要返回:标题、id、图片、时间,这几个字段
千万不要把系统自带的代码删了
上面就定义好了,app请求数据就不会返回全部的查询结果
1、搜索列表的写法
请求地址:&api_call_function=my_test&s=book&c=search
回调写法:my_test2
public function my_test2($data) { $rt = []; if ($data['list']) { foreach ($data['list'] as $t) { $rt[] = [ 'title' => $t['title'], // 标题 'id' => $t['id'],// id号 'catname' => dr_cat_value('news', $t['catid'], 'name'), // news模块的当前内容栏目名称 'thumb' => dr_thumb($t['thumb'], 200, 200), // 图片id转换为地址 'updatetime' => dr_date($t['_updatetime'], 'Y-m-d H:i:s'), // 时间转换 // 如果想调用更多的字段可以写在这个数组里面 ]; } } return $rt; }
2、内容详情的写法
请求地址:&api_call_function=my_test&s=book&c=show&id=1
回调写法:my_test
public function my_test($data) { $rt = [ 'title' => $data['title'],// 标题 'id' => $data['id'],// id号 'thumb' => dr_thumb($data['thumb'], 200, 200),// 图片id转换为地址 'catname' => dr_cat_value('news', $data['catid'], 'name'), // news模块的当前内容栏目名称 'updatetime' => dr_date($data['_updatetime'], 'Y-m-d H:i:s'),// 时间转换 // 如果想调用更多的字段可以写在这个数组里面 ]; return $rt; }
3、栏目详情的写法
请求地址:&api_call_function=my_test&s=book&c=category&id=1
回调写法:my_test3
public function my_test3($data) { $rt = [ 'name' => $data['name'],// 栏目名称 'id' => $data['id'],// id号 'thumb' => dr_thumb($data['thumb'], 200, 200),// 图片id转换为地址 'content' => $data['content'], // 如果想调用更多的字段可以写在这个数组里面 ]; return $rt; }