2020-09-29 ThinkCMF5.1点击菜单跳转界面

         第一次接触thinkcmf这个框架,有很多地方都不是很清楚。今天用这个框架实现前端中的页面跳转问题。我看了ThinkCMF的5.1的官方文档。现在来总结一下一个简单的跳转。需要在后台建立一个主菜单显示在前台来,点击不同菜单名跳转到不同界面。用的是自己的模板quick_start。

1、创建一个跳转的界面,创建的是company_profile.html和它的一个同名json文件。路径:public/themes/quick_start/portal/下这两个文件。

company_profile.json文件内容:

{

    "name": "公司简介",

    "action": "portal/Index/company_profile",

    "description": "公司简介模板",

    "order": 5.0,

    "more": {

 

    }

}

2、在后台刷新,查看启用模板的文件列表,会看到我们新建的company_profile.html,复制它的路劲。在设置中点击导航管理—》主导航—》菜单管理—》选择想要跳转的页面菜单——》点编辑——》选择地址的第一个,将刚才复制的路劲粘贴到里面,点击保存。

3、回到编码界面,在app的controller文件夹下添加一个CompanyProfileController.php的文件,里面内容如下

<?php

namespace app\portal\controller;

use cmf\controller\HomeBaseController;    //HomeBaseController前台控制器基类

 

class CompanyProfileController extends HomeBaseController

{

    public function index()

    {

        return $this->fetch(':company_profile');

    }

}

其中,index()不建议修改,直接用public function index(){ } ,不然可能会报错。

在官方文档中

常见 fetch 调用方法如下:
1.不带任何参数:

return $this->fetch();

系统会按照默认规则自动定位模板文件,其规则是:

当前主题目录/当前应用/当前控制器(小写+下划线)/当前操作(小写)+.html

2.指定渲染当前控制器下的某个模板文件

return $this->fetch('edit'); 

模板定位规则是:

当前主题目录/当前应用/当前控制器(小写+下划线)/edit.html

3.指定渲染某个控制器下的某个模板文件

return $this->fetch('UserArticle/list'); 

模板定位规则是:

当前主题目录/当前应用/user_article/list.html

4.跨模块渲染模板(非特殊情况下这种方法在 cmf 中不推荐使用)

return $this->fetch('portal@UserArticle/list'); 

模板定位规则是:

当前主题目录/portal/user_article/list.html

5.从视图根目录开始读取模板

return $this->fetch('/list'); 

return $this->fetch(':list'); 

模板定位规则是:

当前主题目录/当前应用/list.html

注:以上调用方式,控制器和操作并不要求有实际对应的控制器和操作,它只是目录名称和文件名称而已;

6.渲染实际存在的模板文件

return $this->fetch('./themes/home/index.html');
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值