详解thinkcmf如何新增一个模块


用不少小伙伴在用thinkcmf做二次开发,随着需求的增加,可能现有的板块跟数据库无法满足小伙伴的需求,这个时候可能就需要新增板块了。

本文地址:http://tp.itkee.cn/PHP/Thinkphp/215

本文标题:详解thinkcmf如何新增一个模块


  1. 目前thinkcmf基于thinkphp框架.3.2.3版本进行开发,所以支持快速增加一个板块。具体参考链接:

    1. 本文标题:thinkphp快速新增一个新模块

    2. 本文地址:http://tp.itkee.cn/PHP/Thinkphp/42

  2. 这里示例添加一个新的模块为:Product

    1. define('BIND_MODULE', 'Product'); // 绑定Home模块到当前入口文件

    2. define('BIND_CONTROLLER','Index'); // 绑定Index控制器到当前入口文件

  3. 访问:域名/index.php即可生成新的模块文件

  4. 这个时候一定要注意一步,你在部署使用的过程中可能会遇到这样的问题。提示模块错误等信息。具体可参考:【此步骤不仅仅是对thinkcmf这样,thinkphp框架都需要注意】

    1. 本文标题: TP框架修改url模式后出现‘无法加载控制器’的错误

    2. 本文地址:http://tp.itkee.cn/PHP/Thinkphp/215

  5. 解决完成之后,你的新模块已经建成一大步了。接下来你可以尝试使用

  6. this->display();方法你会发现,模板路径指向是你板块目录下的view文件夹。

  7. 如果你不想使用主题选择,你可以直接保持默认不会影响使用。如果你想跟thinkcmf主题保持统一,请注意:

    1. 使用同步thinkcmf模板路径你需要引入:【后台操作类似,需要引入AdminBaseController进行继承】

    2. use Common\Controller\HomebaseController;
      class IndexController extends HomebaseController {}
    3. 继承父类,因为父类对display方法进行了构造。
    4. /**
      * 加载模板和页面输出 可以返回输出内容
      * @access public
      * @param string $templateFile 模板文件名
      * @param string $charset 模板输出字符集
      * @param string $contentType 输出类型
      * @param string $content 模板输出内容
      * @return mixed
      */
      public function display($templateFile = '', $charset = '', $contentType = '', $content = '', $prefix = '') {
        parent::display($this->parseTemplate($templateFile), $charset, $contentType,$content,$prefix);
      }


  8. 完成以上所有操作,恭喜你。   你的新版块建设完成,可以自由的进行扩展开发!!!


打赏

评论

暂时关闭,稍后恢复~
文档请看10遍以上!有问题可加QQ群!
发表话题

源素材推荐

提问必知

0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复

积分规则

1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号


ThinkCMF 8.0.0发布啦!祝大家节日快乐! 立即体验!