苹果CMS开发

苹果CMS模板结构

2024-08-21 人阅读

前言:

苹果cms所有模板主题包都规定放在template目录下,并且模板静态文件不建议放在cms根目录,防止安装多个模板时导致cms目录结构污染或静态资源覆盖,如需开发独立模板后台控制建议使用插件扩展方式,虽然模板支持php,但是为了安全请不要将后台放程序仿在模板内,这是个高风险的做法。

友情提示:必须严格遵守标准的目录结构进行创建模板,否则会前端访问导致异常,自定义代码块除外

模板结构:

│─template/1/  模板1
│  ├─info.ini  模板信息文件
│  ├─ads   广告文件目录
│  ├─js    js文件
│  ├─css   css文件
│  ├─images   图片文件
│  └─html     模板文件目录
│      └─art     文章模块模板目录
│      └─comment  评论模块模板目录
│      └─gbook    留言本模块模板目录
│      └─index    首页模块模板目录
│      └─label    自定义页面模块模板目录
│      └─map      地图页模块模板目录
│      └─public   公共页面模板目录
│      └─rss      RSS和sitemap模板目录
│      └─topic    专题模块模板目录
│      └─user     用户中心模块模板目录
│      └─vod      视频模块模板目录
│      └─plot     分集剧情模块模板目录
│      └─website  网址导航模块模板目录
│─tempalte/2/  模板2
│─...
│─template/n/  模板N

info.ini介绍:

里边包含了对模板文件的简单介绍,及adsdir广告文件存放目录的设置,默认广告目录为ads

模板html目录:

html
└─public
│   │─include.html    全站公共引入文件 引入js、css样式,还有系统JS变量
│   │─head.html       全站头部
│   │─foot.html       全站尾部
│   │─jump.html       跳转提示页模板     
│   │─msg.html        错误提示页模板
│   │─paging.html     分页样式模板
│   │─digg.html       顶踩样式模板
│   │─score.html      普通评分样式模板
│   │─star.html       星星评分样式模板
│   │─verify.html     搜索验证模板
└─comment
│   │─index.html     评论页
│   │─ajax.html      评论页
└─book
│   │─index.html       留言本
│   │─report.html      报错页面
└─index/index.html     首页
└─map
│   │─rss.html    rss
│   │─baidu.html   百度sitemap
│   │─google.html  谷歌sitemap
└─topic
│   │─index.html   专题首页
│   │─detail.html  专题详情页
└─art
│   │─index.html   专题首页
│   │─confirm.html     确认支付积分页面
│   │─detail.html      文章内容页
│   │─detail_pwd.html      验证密码页
│   │─rss.html         文章内容rss
│   │─search.html      文章搜索页
│   │─type.html        文章分类页
│   │─show.html        文章分类筛选页
└─vod
│   │─confirm.html     确认支付积分页面
│   │─copyright.html      版权提示和跳转
│   │─detail.html      视频内容页
│   │─detail_pwd.html      验证密码页
│   │─rss.html         视频内容rss
│   │─play.html        视频播放页
│   │─player.html      试看页面播放页
│   │─player_pwd.html      验证密码页
│   │─down.html        视频下载页
│   │─downer_pwd.html      验证密码页
│   │─search.html      视频搜索页面
│   │─type.html        视频分类页面
│   │─show.html        视频分类筛选页
│   │─plot.html        视频分集剧情列表
└─user
│   │─ajax_info.html   用户弹出层登录详情
│   │─ajax_login.html  用户弹出层登录界面
│   │─buy.html         用户中心-在线充值
│   │─cards.html       用户中心-充值卡记录
│   │─cash.html       用户中心-提现记录
│   │─downs.html       用户中心-下载记录
│   │─favs.html        用户中心-收藏记录
│   │─findpass.html    用户中心-找回密码
│   │─findpass_msg.html    用户中心-找回密码提示信息
│   │─foot.html        用户中心-公共底部
│   │─head.html        用户中心-公共头部
│   │─include.html     用户中心-公共引入文件
│   │─index.html       用户中心-首页
│   │─info.html        用户中心-个人详情
│   │─login.html       用户中心-登录页
│   │─orders.html      用户中心-在线充值记录
│   │─pay.html         用户中心-支付页
│   │─payment_weixin.html         用户中心-支付微信二维码
│   │─plays.html       用户中心-点播记录
│   │─popedom.html     用户中心-权限列表
│   │─reg.html         用户中心-注册
│   │─reward.html     用户中心-分销记录
│   │─upgrade.html     用户中心-会员升级
└─plot
│   │─uindex.html        分集剧情首页
│   │─udetail.html       分集剧情详情页
└─actor
│   │─index.html        演员首页
│   │─detail.html       演员详情页
│   │─search.html       演员网址搜索页
│   │─show.html       演员筛选页
│   │─type.html       演员分类页
└─role
│   │─index.html        角色首页
│   │─detail.html       角色详情页
│   │─show.html         角色筛选页
└─website
│   │─index.html        网址导航首页
│   │─detail.html       网址详情页
│   │─search.html       网址搜索页
│   │─show.html       网址筛选页
│   │─type.html       网址分类页

包含文件:

模块化开发小技巧,可以将公用头部、页脚、代码块等作为单独的 html文件,然后在其他html页面引入即可, 在当前模版文件中包含其他的模版文件使用include标签,标签用法:

提示:包含的模板文件中不能再使用模板布局或者模板继承。

{include file='模版文件1,模版文件2,...' /}

使用模版表达式:

模版表达式的定义规则为:模块@控制器/操作 例如:

{include file="public/header" /} // 包含头部模版header
{include file="public/menu" /} // 包含菜单模版menu
{include file="blue/public/menu" /} // 包含blue主题下面的menu模版

可以一次包含多个模版,例如:

{include file="public/header,public/menu" /}

注意,包含模版文件并不会自动调用控制器的方法,也就是说包含的其他模版文件中的变量赋值需要在当前操作中完成。

使用模版文件:

可以直接包含一个模版文件名(包含完整路径),例如:

{include file="../application/view/default/public/header.html" /}
Important:

路径以 项目目录/public/ 路径下为起点

传入参数:

无论你使用什么方式包含外部模板,Include标签支持在包含文件的同时传入参数,例如,下面的例子我们在包含header模板的时候传入了title和keywords参数:

{include file="Public/header" title="$title" keywords="开源WEB开发框架" /}

就可以在包含的header.html文件里面使用title和keywords变量,如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>[title]</title>
<meta name="keywords" content="[keywords]" />
</head>

上面title参数传入的是个变量$title,模板内的[title]最终会替换成$title的值,当然$title这个变量必须要存在。包含文件中可以再使用include标签包含别的文件,但注意不要形成A包含A,或者A包含B而B又包含A这样的死循环。

由于模板解析的特点,从入口模板开始解析,如果外部模板有所更改,模板引擎并不会重新编译模板,除非在调试模式下或者缓存已经过期。如果部署模式下修改了包含的外部模板文件后,需要把模块的缓存目录清空,否则无法生效。

最新信息
热门推荐
TAGS 二开