1. desktop_controller控制器基类
1.1.1. 功能描述
后台控制器专用基类, 默认情况下会开启session, 提供常用的页面渲染函数等.
1.1.2. 应用场景
后台控制器
1.1.3. 继承关系
sh: dot: command not found
1.1.4. 使用方法
1.1.5. 函数接口
__construct
1.定义后台不使用缓存
2.开启session,因此如果是调用了desktop_controller需要用到session的时候不需要在开启session;
3.判断自动登录
4.判断登录者的权限
5.获取注册service desktop_controller_content.*:修改输出内容
6.获取注册service desktop_controller_content_finderdetail.**,修改tab detail 里的内容
redirect
直接跳转到指定地址
参数
array $url
返回
null
<?php
...
$this->redirect(array('app'=>'desktop','ctl'=>'admin_default','act'=>'index'));
...
location_to
跳转到当前页面
desktop/lib/controller.php
function location_to(){
//echo request::url(). '#'.$_SERVER['QUERY_STRING'];
if(request::ajax()!=true){
header('Location: '. request::url(). '#'.$_SERVER['QUERY_STRING']);
}
}
finder
显示后台列表函数
function finder($object_name,$params=array())
url_frame
后台的列表区域自定义iframe
desktop/lib/controller.php
function url_frame($url){
$this->sidePanel();
echo '<iframe width="100%" scrolling="auto" allowtransparency="true" frameborder="0" height="100%" src="'.$url.'" ></iframe>';
}
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使用时也有同样的效果)
例1
return $this->page('desktop/common/default.html', $pagedata);
例2
return $this->page('sysstat/admin/report/trade.html',$pagedata);
splash
信息提示,ajax输出,begin end方法信息输出调用此方法
function splash($status='success',$url=null,$msg=null,$method='redirect',$params=array())
参数
string $status=error是输出错误信息,默认输出正确提示信息
string $url自定义拼接的URL,一般为空
string $msg要输出的信息
string $method
array $params当参数为array('splash'=>'1') 时,则表示只是输出自定义信息
例1
<?php
//输出正确信息
return $this->splash('success',null,$msg);
//输出错误信息
$this->splash('error', null, $e->getMessage());
has_permission
判断当前用户的权限
function has_permission($perm_id)
{
$user = kernel::single('desktop_user');
return $user->has_permission($perm_id);
}