ThinkCMF把控制器分为前台控制器,前台用户控制器,后台控制器,这样是为了区分不同情况下不同的业务逻辑;比如:前台用户和后台管理员需要不同的权限设置,控制器分类可以有效地区分开来;
这里我们主要说明前台控制器;
前台控制器就是前台用户可以访问的控制器,且同时不用用户登录,要渲染的视图也在前台模板目录(public/themes/
)里,前台控制器要继承cmf\controller\HomeBaseController
如:
<?php
namespace app\portal\controller;
use cmf\controller\HomeBaseController;
class IndexController extends HomeBaseController
{
public function index()
{
$this->assign("hello", "Hello ThinkCMF Portal!");
return $this->fetch(':index');
}
}
前台控制器使用 fetch
方法渲染的模板文件在前台模板目录,上面IndexController
要渲染的模板文件是themes/前台当前主题目录/portal/index.html