高级搜索
J2CMS模版设计指南
发布时间:2013-03-28 来源: 作者:GT
系统采用FreeMarker作为模版生成静态页面,在后台模版管理里,设计的模版须符合FreeMarker语法。学习设计J2CMS模版的最好方式是参考J2CMS自带的模版,特别是官方模版,以下只是对官方模版的部分整理:
系统全局变量,对应于 常规管理->基本设置 里的各值,可在任意处调用
-
系统简称:
${C.name}
-
全称:
${C.fullName}
-
关键字:
${C.keywords}
-
描述:
${C.description}
-
负责人:
${C.ceo}
-
邮箱:
${C.email}
-
QQ :
${C.qq}
-
电话:
${C.tel}
-
手机:
${C.mobile}
-
公司名称:
${C.company}
-
公司地址:
${C.address}
-
版权信息:
${C.copyright}
-
备案号:
${C.recordCode}
-
物理目录:
${C.realPath}
-
程序目录:
${C.ctp}
-
模版文件夹:
${C.templateFolder}
-
模版:
${C.template}
-
站长统计:
${C.statistics}
-
网站简介:
${C.introduce}
-
网站IP:
${C.ip}
-
程序版本:
${C.version}
首页(包括head.html,index.html)可以调用的变量
- 调用在首页显示的导航栏,这些栏目的后台栏目管理里有设置为在导航栏显示。数据存放在channelsDisplay里,channelsDisplay是一个ArrayList<Channel>,调用方式示例如下:
Html代码
- <ul>
- <li><a href="${C.ctp}/">首页</a></li>
- <#if channelsDisplay??>
- <#list channelsDisplay as channel>
- <#if channel.type == "link">
- <li><a href="${channel.link}" target="_blank">${channel.name}</a></li>
- <#else>
- <#if channel.path == "/">
- <li><a href="${C.ctp}/${channel.id}.html">${channel.name}</a></li>
- <#else>
- <li><a href="${C.ctp}${channel.path}index.html">${channel.name}</a></li>
- </#if>
- </#if>
- </#list>
- </#if>
- </ul>
- 调用Flash广告或者新闻,即后台常规管理->广告图片 里的数据。数据存放在flashs和caseFlashs里。flashs是ArrayList<Flash>。每个Flash里主要用到${flash.imageURL},${flash.linkURL},${flash.name}这三个值。调用方式示例如下:
Html代码
- <#if flashs??>
- <#list flashs as flash>
- xmlxml=xml+"<p u='${flash.imageURL}' a='${flash.linkURL}' n='${flash.name}'/>";
- </#list>
- </#if>
Html代码
- <#list caseFlashs as flash>
- <li><a href="${flash.linkURL}" target="_blank" class="pic">
- <img src="${flash.imageURL}" alt="${flash.name}"/></a>
- <a href="${flash.linkURL}" class="title">${flash.name}</a>
- </li>
- </#list>
- 首页中显示的栏目内容,在栏目管理中设定的在首页中显示的栏目内容。所用到的值在java中的定义
Java代码
- List<Map<?,?>> channelArticleMaps = new ArrayList<Map<?,?>>();
- Map <String,ArrayList<Article>> channelArticleMap = new HashMap<String,ArrayList<Article>>();
调用方式示例如下:
Html代码
- <#if channelArticleMaps??>
- <#list channelArticleMaps as channelArticleMap>
- <div class="channel">
- <#list channelArticleMap?keys as channelName >
- <div class="channelName"> ${channelName}</div>
- <div>
- <ul>
- <#assign articles=channelArticleMap[channelName] >
- <#if articles??>
- <#list articles as articleBean>
- <li><a href="${C.ctp}${articleBean.channel.contentPath}${articleBean.id?c}.html"
- title='${articleBean.name!""}' target="_blank">${articleBean.name!""}</a>
- <span>[${articleBean.releaseDate!""}]</span></li>
- </#list>
- </#if>
- </ul>
- </div>
- </#list>
- </div>
- </#list>
- </#if>
列表栏目参考channel.html
单面栏目参考single.html
文章栏目参考article.html