finder的使用

首先我们了解一下,finder展示在什么地方,如下如↓

finder展示区图片

finder展示区由7分部组成,分别是:

  1. finder标题

  2. 操作按钮区

  3. 快捷搜索

  4. 查看列

  5. 自定义列

  6. 高级筛选

  7. 分页区

我们平时做任何web应用大概都少不了后台管理功能, 这之中最常看到的大概就是:数据列表,对数据进行单条查看,删除,搜索列表数据。finder就是做这样工作的,要做到这些事情只需简单的给一个方法传几个参数而已

调用finder方法

1.控制器继承desktop_controller类,desktop_controller类封装了finder()方法。

2.控制器方法调用finer()方法,$this->finder();

例子:

finder方法参数

1.第一个参数是字符串,(上例中是testapp_mdl_test),是model里的class名,它决定了finder列表的数据源,默认情况下是testapp_mdl_test类里的getList方法返回的数据。

2.第二个参数是数组,这个数组内涵相当丰富,解释如下:

title

title: 标题(图中的【1区】显示出来的内容)

actions

actions: 自定义控制项(图中的【2区】里的内容除了显示内置的操作以外,还可以自定义添加新操作,参照上面格式。)

自定义控制项有两种格式:

1.自定义弹窗,格式如下

label:按钮名称

href:自定义弹窗链接

target:弹窗参数

title:弹窗标题,width:弹窗宽度,height:弹窗高度

2.自定义确认提示弹窗

label:按钮名称

submit:按钮链接

confirm:确认提示文字

以下是内置控制项

封装类在/desktop/lib/finder/builder/view.php文件中

use_buildin_set_tag

use_buildin_set_tag: 是否显示设置标签操作(值ture/false)默认false

use_buildin_tagedit

use_buildin_tagedit: 是否显示标签管理操作(值ture/false)默认true

use_buildin_delete

use_buildin_delete: 是否显示删除操作(值ture/false)默认true

use_buildin_export

use_buildin_export: 是否显示导出操作(值ture/false)默认false

use_buildin_import

use_buildin_import: 是否显示导入操作(值ture/false)默认false

use_buildin_filter

use_buildin_filter: 是否显示高级筛选按钮 图中【6区】(值ture/false)默认false

use_buildin_setcol

use_buildin_setcol: 是否显示列表配置项(值ture/false)默认true

use_buildin_refresh

use_buildin_refresh: 是否显示刷新操作(列表配置项旁)(值ture/false)默认true

use_buildin_selectrow

use_buildin_selectrow: 是否显示每条记录前的复选按钮(值ture/false)默认true

allow_detail_popup

allow_detail_popup: 是否显示查看列中的弹出查看图标(图 【4区】第二个图标)(值ture/false)默认false

有无需看自定义finder类中是否有$detail开头的变量和对应的方法。

这个具体会在自定义finder类中讲解。

use_save_filter

use_save_filter:是否支持保存搜索结果功能(值ture/false)默认true

base_filter

base_filter: 对列表数据进行过滤筛选,参照上面格式(值 数组)

top_extra_view

top_extra_view 在finder列表头部增加其他自定义html显示,如top_extra_view=>array('app名称'=>'html模版页面路径');

例如商家文章

控制器部分代码:

模版代码:

效果如图:

use_view_tab

use_view_tab: 是否显示finder中的tab(如果有),有无需看控制器中是否有_views方法,(值ture/false)默认true。

label: tab的标题文字

optional: 此tab是否可选

filter: 此tab的过滤条件

addon: 此过滤条件下有多少条记录

href: 此tab的链接地址

自定义finder类

在实际业务中,会出现行数据的操作、查看等操作,这样就需要我们自己定义finder了。这里以我做的app sysmall为例:

step1. 在sysmall中添加services.xml文件,并写入:

step2. 在sysmall/lib/finder/目录下创建item.php文件,并写入:

step3. 更新一下app 出现了 操作、缩略图、查看 列 以 column开头的变量和方法是生成数据的; 以 detail开头的变量和方法是生成查看列数据的;

Last updated