home-code

示例❤源码



### 默认模板

* 测试路由
  - 我们分别在地址栏输入如下参数;
  - [mod1]({=PATH_PROJ}/demo.php?mod1) (前面类似`/demo.php?`省略,下同)
  - [mod1-kid1]({=PATH_PROJ}/demo.php?mod1-kid1)
  - [mod1-kid1-vip]({=PATH_PROJ}/demo.php?mod1-kid1-vip)
  - [mod1.did2]({=PATH_PROJ}/demo.php?mod1.did2)
  - [mod1.did2.pics]({=PATH_PROJ}/demo.php?mod1.did2.pics)
  - 注意关注这些提示信息...

* 与模板的关系
  - `?mod1` ->提示 `~/views/demo/mod1/mhome.htm NOT Exists!` (后续前面类似`~/views/demo/` 的提示省略)
  - 默认找到了 `mod1/mhome` 模板,即默认的 模型`mod1`的首页模板
  - `?mod1-kid1` ->提示 `/mod1/kid1.htm NOT Exists!` 
  - 默认找到了 `mod1/kid1` 模板,即默认的 模型`mod1`,分类id为`kid1`的列表模板
  - `?mod1.peace` ->提示 `/mod1/detail.htm NOT Exists!` (peace可换成别的字符试一试)
  - 默认找到了 `mod1/detail` 模板,即默认的 模型`mod1`,详情模板;其中详情id为`peace`

* 添加模板
  - 按上述方式,根据提示,添加模板(为了区分,这里切换到为模型2`mod2`):
  - 文件:`mod2/mhome.htm`, 内容:`mhome:<?=time()?>`, [源码]({=PATH_PROJ}/demo.php?home-code&fp=demo/mod2/mhome.htm),[效果]({=PATH_PROJ}/demo.php?mod2);
  - 文件:`mod2/kid1.htm`, 内容:`kid1:<?=time()?>`, [源码]({=PATH_PROJ}/demo.php?home-code&fp=demo/mod2/kid1.htm),[效果]({=PATH_PROJ}/demo.php?mod2-kid1);
  - 文件:`mod2/detail.htm`, 内容:`Hello <?=$this->key?>`, [源码]({=PATH_PROJ}/demo.php?home-code&fp=demo/mod2/detail.htm),[效果]({=PATH_PROJ}/demo.php?mod2.did2);
  - 再次访问测试的链接,我们模板内容,已经正常显示了。
  - (提示)若是新闻类别`?news-nsys`路由,即后台定义的模型,和后台定义的类别,
    则会自动找到`news/mtype.htm`模板;即默认所有类别使用同一模板。


### 绑定模板配置

上述是无任何配置,不写任何额外代码的情况下;路由与模板的默认关系;  
那么,如果要更自由的设置路由与模板绑定关系,我们就可用配置文件。

* 配置文件规定
  - 模板配置放在每一组模板目录下的:`/_config/下`;
    如:`/views/comm/_config/`, `/views/adm/_config/`;
  - 每一个模型,用一个配置文件,如:`vc_about.php`, `vc_news.php`;
  - `vc_`开头的,为系统模型;如后台定义的 新闻,产品,博文;
  - `va_home.php` 为首页配置,同时包含这一组功能模板的通用或公用配置;

* `vc_news.php`示例配置代码
  - 文件:`{views}/demo/_config/vc_news.php` 
  - [查看代码]({=PATH_PROJ}/demo.php?home-code&fp=demo/_config/vc_news.php)
  - [查看效果]({=PATH_PROJ}/demo.php?news)

* `c` 配置区块
  - c.vmode : 配置动态(dynamic),静态(static)或关闭(close)
  - c.stexp : 静态更新时间,2h-两小时, 3d-3天, 10-10分钟

* `m/t/d` 配置区块
  - m : (mod)模型首页配置,如果只有首页,无搜索等,则可直接用字符串如:`m=news/mhome`
  - t : (type)类别页模板
  - d : 详情页模板,如果详情页再有子页面,如楼盘下有楼盘图片页,则可用上述注释的数组

* 提示
  - 一级单字母键为保留键,有特殊用途
  - 常用的有:c,m,d,t,u,v等


### 首页配置

* `va_home.php`示例配置代码
  - 文件:`{views}/demo/_config/va_home.php` 
  - 默认首页模板为:`home/mhome`,代码:`'m' => 'home/mhome'`
  - [查看代码]({=PATH_PROJ}/demo.php?home-code&fp=demo/_config/va_home.php)
  - 如果使用默认配置,首页配置文件:`va_home.php`可省略;
  - 首页还可包含其它的一些配置,如下:

<!--
* `c.vmode` :
  - `close` :可关闭整个入口
-->

* `c.stext` :
  - html : 静态文件后缀,开启静态下有效

* `c.imcfg` 配置区块
  - 导入配置,几个模型公用同一个配置
  - 如上配置:company/govern/organize等会员,都用 vc_corp.php 的配置

* `c.extra` 配置区块
  - 扩展模型,区别于系统后台架构的 如新闻,楼盘模型
  - 如 可以配置一个 `ex_info.php`,来配置:网站导航,版权信息,留言反馈等 模板

-End-