desktop_controller控制器基类
- 后台控制器专用基类, 默认情况下会开启session, 提供常用的页面渲染函数等.
继承关系
__construct
- 定义后台不使用缓存
- 开启 session ,因此如果是调用了 desktop_controller 需要用到 session 的时候就不需要在开启 session;
- 判断自动登录
- 判断登陆者的权限
- 获取注册 service desktop_controller_content.*:修改内容
- 获取注册 service desktop_controller_content_finderdetail.**,修改tab detail 里的内容
redirect
<?php
...
$this->redirect(array('app'=>'desktop','ctl'=>'admin_default','act'=>'index'));
...
location_to
function location_to()
finder
url_frame
function index(){
$this->url_frame('www.baidu.com');
}
singlepage
- 显示页面,默认配合 target = _blank 使用时,显示的页面不包含框架的其他页面,只显示本身页面
'href'=>'index.php?app=b2c&ctl=admin_goods_editor&act=add',
'target'=>'_blank'),
...
$this->singlepage('admin/goods/detail/frame.html');
page
显示页面,如果page配合target=_blank使用时,显示的页面包含在框架里面,显示在后台的自定义列表中
如果是page配合target=dialog使用时,则显示的是弹出层页面(display配合target=dialog使用时也有同样的效果)
'href'=>'index.php?app=b2c&ctl=admin_goods_editor&act=add',
'target'=>'_blank'),
...
$this->page('admin/goods/detail/frame.html');
'href'=>'index.php?app=b2c&ctl=admin_member&act=add_page','target'=>'dialog::{title:\''.
app::get('b2c')->_('添加会员').'\',width:460,height:460}'),
...
$this->page('admin/member/new.html');
splash
- 信息提示,ajax输出,begin end 方法信息输出调用此方法
function splash($status = 'success',$url =unll,$msg = null,$method = 'redirect',$params = array())
# 参数
string $status = error 是输出错误信息,默认是输出正确信息success
string $url 自定义拼接的URL ,一般为空
string $msg 错误或正确的提示语
string $method 方法
array $parrms 当参数为 array('splash'=>'1') 时,则表示只是输出自定义信息
# 例子
//输出正确信息
$this->splash('success','','正确信息');
$this->splash('error','','错误信息','redirect',array('splash'=>'1'));
jumoTo
function jumpTo($act = 'index',$ctl = null,$args = null){}
string $act控制器中的方法名
string $ctl控制器名
array $args参数
has_permission
display
- display和base_render中的display方法一样
- display配合target=dialog使用时,显示的页面为弹出层
'href'=>'index.php?app=b2c&ctl=admin_member&act=add_page','target'=>'dialog::{title:\''.
app::get('b2c')->_('添加会员').'\',width:460,height:460}'),
...
$this->display('admin/member/new.html');
pre_display
- 和base_render中的pre_display方法一样,只是注册的service是不一样的.
- 这个service是desktop_render_pre_display
desktop_controller提供的service
app_pre_auth_use
desktop_controller_content.%s.%s.%s
desktop_controller_content_finderdetail.%s.%s.%s.%s
desktop_controller_destruct
tpl_source.
desktop_render_pre_display