QQ  点击与我会话 
       高级搜索

关键字:
 首页 J2CMS模版设计指南
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代码 
  1. <ul>  
  2.          <li><a href="${C.ctp}/">首页</a></li>  
  3.          <#if channelsDisplay??>  
  4.          <#list channelsDisplay as channel>  
  5.          <#if channel.type == "link">  
  6.             <li><a href="${channel.link}" target="_blank">${channel.name}</a></li>  
  7.          <#else>  
  8.                 <#if channel.path == "/">  
  9.                 <li><a href="${C.ctp}/${channel.id}.html">${channel.name}</a></li>  
  10.             <#else>  
  11.                 <li><a href="${C.ctp}${channel.path}index.html">${channel.name}</a></li>  
  12.             </#if>  
  13.       </#if>  
  14.          </#list>  
  15.          </#if>  
  16.  </ul>      
 
  •  调用Flash广告或者新闻,即后台常规管理->广告图片 里的数据。数据存放在flashs和caseFlashs里。flashs是ArrayList<Flash>。每个Flash里主要用到${flash.imageURL},${flash.linkURL},${flash.name}这三个值。调用方式示例如下: 
Html代码 
  1. <#if flashs??>  
  2.                 <#list flashs as flash>  
  3.                     xmlxml=xml+"<p u='${flash.imageURL}' a='${flash.linkURL}' n='${flash.name}'/>";  
  4.                 </#list>  
  5. </#if>  
 
Html代码 
  1. <#list caseFlashs as flash>  
  2.    <li><a href="${flash.linkURL}" target="_blank" class="pic">  
  3.     <img src="${flash.imageURL}" alt="${flash.name}"/></a>   
  4.     <a href="${flash.linkURL}" class="title">${flash.name}</a>  
  5.    </li>  
  6.  </#list>   
 
  •  首页中显示的栏目内容,在栏目管理中设定的在首页中显示的栏目内容。所用到的值在java中的定义
Java代码 
  1. List<Map<?,?>> channelArticleMaps = new ArrayList<Map<?,?>>();  
  2.   
  3. Map <String,ArrayList<Article>> channelArticleMap = new HashMap<String,ArrayList<Article>>();  
 调用方式示例如下:
Html代码 
  1. <#if channelArticleMaps??>  
  2. <#list channelArticleMaps as channelArticleMap>  
  3.   <div class="channel">  
  4.      <#list channelArticleMap?keys as channelName >   
  5.      <div class="channelName">&nbsp;&nbsp;${channelName}</div>  
  6.      <div>  
  7.         <ul>  
  8.            <#assign articles=channelArticleMap[channelName] >   
  9.            <#if articles??>  
  10.            <#list articles as articleBean>  
  11.                <li><a href="${C.ctp}${articleBean.channel.contentPath}${articleBean.id?c}.html"   
  12.                title='${articleBean.name!""}' target="_blank">${articleBean.name!""}</a>  
  13.                <span>[${articleBean.releaseDate!""}]</span></li>   
  14.            </#list>   
  15.            </#if>  
  16.         </ul>  
  17.     </div>  
  18.     </#list>  
  19.  </div>  
  20. </#list>   
  21. </#if>  
 
列表栏目参考channel.html
单面栏目参考single.html
文章栏目参考article.html