TP框架后台菜单栏
TP的验证码存放在session里面,它的键值对都是经过加密的,找到验证码的生成源文件,在源文件把验证码放入自己设定的session的键里面
将session里面记录的admin里面的name放到index.html页面
<span class="cut">|</span>{$admin.id}:<span class="mr10">{$admin.name}</span>
注销就是跳转个页面 清除对应的session
<a href="{:U("Index/logout")}">[注销]</a>
public function logout(){
session("admin",null); $this->success("退出成功,如果想继续操作,请重新登录",U("Login/index"),2);
}
我们后台的所有操作(除了登录外)其他的操作必须是在登录操作之后完成 所以每个页面(除了登陆) 都要判断是否登录
面向对象,但是我们想在每次操作之前判断是否登录过,所有我们选择在构造函数里面进行拦截判断是否登录过
所以在新建一个控制器 BackController extends Controller
class BackController extends Controller{
public function __construct(){ 会覆盖掉父类的构造方法
header("content-type:text/html;charset=utf-8");
//需要把父类的构造方法拿过来
parent::__construct();//执行一次父类的构造方法
if(!session("?admin")){ //没登录过
$this->error("你还没登陆,请先登录",U("Login/index"),3);
exit;
}
}
}
parent::__construct();//执行一次父类的构造方法
除了登录 ,其他所有控制器都去继承 BackController
CMS的菜单栏是写在xml 通过simplexml_load_file()进行加载读取
thinkphp是把菜单栏写在配置文件里面 admin->config.php
//设置后台的菜单栏
"MENU"=>array(
array(
"id"=>"1",
"name"=>"商品管理",
"son"=>array(
array("name"=>"分类管理","href"=>"Cate/index","id"=>"11"),
array("name"=>"商品管理","href"=>"Goods/index","id"=>"12"),
array("name"=>"幻灯片管理","href"=>"Banner/index","id"=>"13"),
array("name"=>"推荐商品管理","href"=>"Recom/index","id"=>"12"),
),
),
array(
"id"=>"2",
"name"=>"用户管理",
"son"=>array(
array("name"=>"会员管理","href"=>"Member/index","id"=>"21"),
array("name"=>"订单管理","href"=>"Order/index","id"=>"22"),
),
),
array(
"id"=>"3",
"name"=>"管理员管理",
"son"=>array(
array("name"=>"角色管理","href"=>"Power/index","id"=>"31"),
array("name"=>"管理员管理","href"=>"Admin/index","id"=>"32"),
),
),
),
读取配置文件
C("键")
//读取配置 在index/index
$menu_data = C("MENU");
$this->assign("menu_data",$menu_data);
视图层的循环 手册
<volist name="list" id="vo" key="key"></volist>
<foreach name="list" item="vo" key="key"></foreach>
等价于
foreach($list as $key=>$vo){}
标签里面的变量的取值方式和php一样
{:U($val["href"])} 在行间事件的小括号里面进行传参
<volist name="menu_data" id="val">
<h3 class="f14"><span class="J_switchs cu on" title="展开或关闭"></span>{$val.name}</h3>
<ul>
<foreach name="val.son" item="vo">
<li class="sub_menu" onclick="change_url("{:U($vo["href"])}",this)"><a>{$vo.name}</a></li>
</foreach>
</ul>
</volist>
将session里面记录的admin里面的name放到index.html页面
<span class="cut">|</span>{$admin.id}:<span class="mr10">{$admin.name}</span>
注销就是跳转个页面 清除对应的session
<a href="{:U("Index/logout")}">[注销]</a>
public function logout(){
session("admin",null); $this->success("退出成功,如果想继续操作,请重新登录",U("Login/index"),2);
}
我们后台的所有操作(除了登录外)其他的操作必须是在登录操作之后完成 所以每个页面(除了登陆) 都要判断是否登录
面向对象,但是我们想在每次操作之前判断是否登录过,所有我们选择在构造函数里面进行拦截判断是否登录过
所以在新建一个控制器 BackController extends Controller
class BackController extends Controller{
public function __construct(){ 会覆盖掉父类的构造方法
header("content-type:text/html;charset=utf-8");
//需要把父类的构造方法拿过来
parent::__construct();//执行一次父类的构造方法
if(!session("?admin")){ //没登录过
$this->error("你还没登陆,请先登录",U("Login/index"),3);
exit;
}
}
}
parent::__construct();//执行一次父类的构造方法
除了登录 ,其他所有控制器都去继承 BackController
CMS的菜单栏是写在xml 通过simplexml_load_file()进行加载读取
thinkphp是把菜单栏写在配置文件里面 admin->config.php
//设置后台的菜单栏
"MENU"=>array(
array(
"id"=>"1",
"name"=>"商品管理",
"son"=>array(
array("name"=>"分类管理","href"=>"Cate/index","id"=>"11"),
array("name"=>"商品管理","href"=>"Goods/index","id"=>"12"),
array("name"=>"幻灯片管理","href"=>"Banner/index","id"=>"13"),
array("name"=>"推荐商品管理","href"=>"Recom/index","id"=>"12"),
),
),
array(
"id"=>"2",
"name"=>"用户管理",
"son"=>array(
array("name"=>"会员管理","href"=>"Member/index","id"=>"21"),
array("name"=>"订单管理","href"=>"Order/index","id"=>"22"),
),
),
array(
"id"=>"3",
"name"=>"管理员管理",
"son"=>array(
array("name"=>"角色管理","href"=>"Power/index","id"=>"31"),
array("name"=>"管理员管理","href"=>"Admin/index","id"=>"32"),
),
),
),
读取配置文件
C("键")
//读取配置 在index/index
$menu_data = C("MENU");
$this->assign("menu_data",$menu_data);
视图层的循环 手册
<volist name="list" id="vo" key="key"></volist>
<foreach name="list" item="vo" key="key"></foreach>
等价于
foreach($list as $key=>$vo){}
标签里面的变量的取值方式和php一样
{:U($val["href"])} 在行间事件的小括号里面进行传参
<volist name="menu_data" id="val">
<h3 class="f14"><span class="J_switchs cu on" title="展开或关闭"></span>{$val.name}</h3>
<ul>
<foreach name="val.son" item="vo">
<li class="sub_menu" onclick="change_url("{:U($vo["href"])}",this)"><a>{$vo.name}</a></li>
</foreach>
</ul>
</volist>
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。