ThinkCMF把控制器分为前台控制器,前台用户控制器,后台控制器,这样是为了区分不同情况下不同的业务逻辑;比如:前台用户和后台管理员需要不同的权限设置,控制器分类可以有效地区分开来;

    这里我们主要说明前台控制器;

    前台控制器就是前台用户可以访问的控制器,且同时不用用户登录,要渲染的视图也在前台模板目录(public/themes/)里,前台控制器要继承cmf\controller\HomeBaseController

    如:

    1. <?php
    2. namespace app\portal\controller;
    3. use cmf\controller\HomeBaseController;
    4. class IndexController extends HomeBaseController
    5. {
    6. public function index()
    7. {
    8. $this->assign("hello", "Hello ThinkCMF Portal!");
    9. return $this->fetch(':index');
    10. }
    11. }

    前台控制器使用 fetch 方法渲染的模板文件在前台模板目录,上面IndexController要渲染的模板文件是themes/前台当前主题目录/portal/index.html

    原文: https://www.thinkcmf.com/docs/cmf/前台控制器.html