一、皮肤目录结构的组织优化
皮肤目录组织基本上遵循以下原则:
不要将所有文件都存放在根目录下
目录层次不要太深,建议不要超过三层
不要使用过长的目录名和尽量不要使用中文目录名
应充分考虑后期维护调整的灵活性(如目录的移动、改名等)
在前章中,我们通过动态调整全局的视图根目录(view_base)实现的动态切换皮肤是存在缺陷的(不但目录层次更深,还会造成一些不必要的干扰)。
更好的做法是调整模板路径(view_path),这样做不但目录层次更少,灵活性也更好。
进行如下图调整:
1、改为配置模板路径,并注释掉view_base的定义。
2、动态替换皮肤view_base配置动态调整
3、实现动态皮肤切换的工作机制
此前,已经知道TP5的视图渲染规则通过配置文件中的“view_path”确定的。因此,我们只要在渲染程序开始前,改变"view_path"值就可以实现皮肤切换的目的,这里是利用行为”appindexbehaviorTest“,在应用开始前,动态修改了"view_path"。
使用TP5的应用行为(behavior),可以很方便的在应用程序开始前执行我们的自定义业务逻辑。配置应用行为扩展定义文件(tags.php),调整应用行为的执行位置很简单也很直观。
ThinkPHP中的行为是一个比较抽象的概念,但也很有用,建议花点时间深入理解一下。
4、创建数据输入界面
经过上述改造,现在index模块的模板路径是"/public/pc/theme1/"
index/index对应的默认模板地址就是"/public/pc/theme1/index/index.html"
如果,创建一个表单,运行后可以看到下面的界面。
5、获取数据与数据库中插入新数据
点击提交数据后,就可以在后台获取用户输入数据了。
6、数据显示
向视图赋值
视图中循环输入数组数据
具体代码请从git创库获取
***管理员屏蔽***
***管理员屏蔽***