ThinkCMF是一款基于ThinkPHP+MySQL开发的中文内容管理框架。ThinkCMF提出灵活的应用机制,框架自身提供基础的管理功能,根据自身的需求以应用的形式进行扩展,每个应用都能独立的完成自己的任务,也可通过系统调用其他应用进行协同工作。所以在ThinkCMF中你只是增加了一个APP,每个独立运行互不影响,便于灵活扩展和二次开发。

代码遵循Apache2开源协议,免费使用,对商业用户也无任何限制

thinkcmf里的simpleboot开发框架,完全基于bootstrap 2.3.2,但它拥有更多的组件,同时支持IE7+,可以直接使用,不用再次安装

ThinkCMF特别开发规范

1、应用后台控件器放在应用Controller目录中,最好不要存放在Admin/Controller下,保证应用模块独立

2、应用后台控件器命名以****adminController.class.php或者Admin****Controller.class.php命名的是后台Controller, 在后台菜单导入时会自动识别

3、应用后台控件器方法命名:用户无法访问的内部方法,请以下划线(_)开头;

4、附件保存路径,要相对于upload目录,只保存之后路径

5、使用I函数获取post和get的数据

6、模板中php代码注释都使用/**/的方式,//这种方式一定不要用,否则debug关闭后会有各种问题!

7、各种php文件最好别加?>结束,防止响应多余字符

ThinkCMF目录结构|--admin                      /管理后台URL重定向目录,你可以将文件夹名改为任何你喜欢的

|--themes                /后台模板文件目录

|--application                /应用目录

|--data                      /各类数据存放目录,包括缓存数据

|--simplewind                /核心包,无特殊情况请勿改动

|--public                    /静态文件存放包,包含bootstrap资源

|--themes                    /前台模板文件目录

application 目录结构:|--application

|--Admin                    /后台管理应用

|--Api                      /公共接口

|--Asset                    /资源管理应用

|--Comment                  /评论应用

|--Common                  /应用公共模块

|--Portal                  /门户应用

应用就是application目录下的一个模块,它是独立于其它模块存在的,有自己独立的运行空间;例如Blog应用目录结构:

Controller 控制器目录(必备)

Common 函数库(可选)

Conf 配置(可选)

Lang 多语言包(可选)

Menu 后台菜单(可选)

Model 模型(可选)

nav.php 前台导航文件(可选)

而在 CMF 中应用的 View 是独立于应用之外的,它分为前台view 和后台view, 分别存放在themes/前台主题/应用名,和admin/themes/后台主题/应用名下;

创建一个blog应用

1、在application/Common/Conf/config.php文件MODULE_ALLOW_LIST数组里加上应用名Blog

2、在application下创建上面讲到的Blog目录结构;

前台控制器

前台控制器位于应用的Controller目录下,一般继承Common\Controller\HomebaseController,如果你需要用户登录才访问或操作此控制器,就要继承Common\Controller\MemberbaseController;

后台控制器

在某个应用Controller目录下创建一IndexadminController.class.php文件(注意:这里有文件命名规则,以****adminController.class.php或 Admin****Controller.class.php命名的是后台Controller, 在后台菜单导入时会自动识别

就要用户登录才能访问,就继承自AdminbaseController这个控制器。

不用管理员登录也能被访问到,只给IndexadminController加个空的_initialize()方法(初始化,这里不执行父类的初始化方法);

模板定义:

前台模板位于themes目录下,后台模板位于admin/themes目录下,前后台都是多主题机制的,可以分开设置不同的主题;

这是前台模板的结构;应用之间彼此分开,Portal目录下就对应的是application/Portal应用的模板文件;

一个模板文件大致路径是这样的:themes/主题名/应用名/控制器名/操作名+(.html) 或者 themes/主题名/应用名/自定义模板名+(.html),如:themes/simplebootx/User/Profile/password.html,themes/simplebootx/Portal/index.html;

应用名以后的部分,开发者可以用控制器的display方法指定模板的具体文件名

模板主题

cmf分为前台模板主题和后台模板主题,两都分开独立设置,它们也在不同的目录下,前台模板在themes下,后台模板在admin/themes下。

前后台是都支持多主题的,如果我想增加的主题,只要把默认主题复制后,目录名改一下放在前后台主题目录下,就是一个新的主题,当然你完全可以从零开始写,只要确保文件名对应就可以了;要注意模板命名格式,英文字母加数字的形式

注意你在打开模板方案里可能会发现_en-us,_mobile,_mobile_en-us结尾的类似模板,这些都是相应模式下的模板,比如,你后台设置的是simplebootx,如果是手机用户系统会自动判断,并使用simplebootx_mobile模板,如果用户是英文的系统也会自动判断使用simplebootx_en-us模板;

应用开发流程:

http://www.thinkcmf.com/docs/cmfx/extends/application_flow.html

全局变量:

{$site_name}/站点名称

{$site_host}/站点域名

{$site_root}/安装目录

{$site_icp}/备案信息

{$site_admin_email}/管理员邮箱

{$site_tongji}/页面统计代码

{$site_seo_title}/SEO标题

{$site_seo_keywords}/SEO关键字

{$site_seo_description}/SEO描述

{$site_copyright}/版权信息

模板常量:

__ROOT__:网站根目录,不带/;

__WEB_ROOT__: 网站资源根目录,不带/,如果以前版本用__ROOT__来定位网站资源,x2.2.0以后最好用这个常量,方便以后cdn切换

__TMPL__:当前模板根目录,带/;

如:前台 simplebootx 模板根目录是/themes/simplebootx/

后台 simplebootx模板根目录是/admin/themes/simplebootx/

__PUBLIC__:public目录,不带/;

包含文件:

tc_include

tc_include是前台模板包含文件的方法,用于替换原来的include的标签,实现更多功能

加载当前模板的Public/nav.html文件

验证码,幻灯片,评论,ajax操作时的弹框等都已经组织在框架里面。

还有一些好用的函数,比如获取当前用户信息、生成随机数、发送邮件、分页

注意:

1、平时一定要把data/conf/db.php文件做个备份

thinkcmf ajax,个人使用琐记-thinkcmf相关推荐

  1. thinkcmf ajax,thinkcmfx 中如何用jquery ajax提交数据,自己尝试去做之后,还是没法提交,求助!...

    *姓名 *电话 *给我们留言 提交留言 namespace PortalController; use CommonControllerHomebaseController; /** 首页 */ cl ...

  2. 感悟琐记:业绩=资源的n次方

    6月11日,梭子鱼中国总经理何平来到51CTO.com接受内容副总监.资深记者程鸿的独家视频采访.采访结束后,何总与51CTO总经理熊平就IT业界发展的一些热点.以及IT媒体的问题又进行了长时间的沟通 ...

  3. 关于 IAR 环境的一些使用 琐记

    虽然对于IAR这个环境很不喜欢,但为了搞CC2530,不得不用. 把碰到的一些点滴记录下来: 1.Options->C/C++ Compiler->Preprocessor->Def ...

  4. about quartus, FPGA and verilog 琐记

    1.   Quartus中的报告文件,各种 *.rpt文件就是,其中 *.flow.rpt 记录着看到编译后的报告(主要各种资源的使用情况).

  5. 《海边的卡夫卡》阅读琐记

    海边的卡夫卡----村上春树 前言 大四时期偶然读了几本日本作家的小说,其中邂逅了村上的基本长篇,对其灵动的文笔所吸引,半年前赶着书城活动买了本<海边的卡夫卡>,这个月偶尔翻翻,至今读了2 ...

  6. 琐记之生活感悟(关于日常生活的东西都丢这里)

    一. 每个人自己的技术水平怎么样,自己最清楚,所以只有坚持学习才能缩小于别人的差距.爱因斯坦说:人与人最大的区别在于业余时间.所以在该奋斗的时间里,就要全力去奋斗. 二.你所浪费的今天,是昨天死去的人 ...

  7. 琐记8:恐怖的僵尸进程与温暖的守护进程

    1.被我标题吸引进来的同学先不要着急,在讨论标题中的内容之前,我们需要先了解下进程的终止: exit 与_exit 函数都是用来结束进程的函数,首先是exit:它的头文件:<stdlib.h&g ...

  8. 七八个星天外,两三点雨山前 (琐记)

    <西江月·夜行黄沙道中>     [南宋]辛弃疾 明月别枝惊鹊,清风半夜鸣蝉.稻花香里说丰年,听取蛙声一片. 七八个星天外,两三点雨山前.旧时茅店社林边,路转溪桥忽见. 1·memset( ...

  9. 有关永中科技破产到工信部上访琐记

    <!-- @page { margin: 2cm } P { margin-bottom: 0.21cm } --> 6 月 13 日,就永中科技破产一事,我到工信部进行"上访& ...

最新文章

  1. day4 匿名函数、装饰器、生成器、迭代器、内置函数、 json 与 pickle 模块
  2. django_form表单类
  3. mysql系列:加深对脏读、脏写、可重复读、幻读的理解
  4. jmeter tps指标在哪里看_jmeter性能测试讲的很详细
  5. Python基础——try(异常处理)
  6. Servlet过滤器Filter和监听器
  7. mycat err:java.sql.SQLNonTransientException: find no Route:select日志报错
  8. linux pthread头文件,pthread t 头文件_uint8 t 头文件_pthread t 头文件
  9. 3G与2G网络融合中组网策略(转)
  10. dll加壳c语言,使用VC自己动手编写加壳程序
  11. 媒体应用视频超分AI神器!360P视频一键转换HD
  12. 影视后期制作学习(AE)(父子级链接-表达式)
  13. 密码学的安全性浅析3
  14. SCSS 和 Sass 有什么区别?
  15. 计算机c盘加容量,增加C盘空间,详细教您怎么增加C盘空间
  16. 国庆放假前一周,再学这些技术,安安稳稳过假期
  17. Arduino循迹小车教程一----材料篇
  18. 比亚迪DiLink深体验:让科幻般的车生活都成为实现,智能网联集大成者张这样?...
  19. SAP FREE_SELECTIONS_INIT多表动态选择演示
  20. Hank的无线802.11学习笔记--part 1

热门文章

  1. 细腻古典氛围 功能性经典家居设计
  2. 15个免费开放电子科研文献下载资源库
  3. 【海洋女神原创】一个完整的Installshield安装程序实例—艾泽拉斯之海洋女神出品(一)---基本设置一...
  4. 游戏设计的236个技巧pdf
  5. Android中自定义农历日历,CalendarView Android 上一个优雅、万能自定义 UI、性能高效的日历控件,热插拔!热插拔!热插拔!重要的事 @codeKK Android开源站...
  6. Vim编辑器与shell脚本(.sh)
  7. Minio Note [vaynexiao]
  8. 【C#初学者必备】常用200+单词整理
  9. Lammps实现甲烷与水的竞争吸附-循环不同气体分子
  10. Unity学习之游戏初步策划