J2CMS模版设计指南

系统采用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>,调用方式示例如下: 
 <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}这三个值。调用方式示例如下: 
<#if flashs??>
                <#list flashs as flash>
                	xml=xml+"<p u='${flash.imageURL}' a='${flash.linkURL}' n='${flash.name}'/>";
                </#list>
</#if>

 

<#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中的定义
List<Map<?,?>> channelArticleMaps = new ArrayList<Map<?,?>>();

Map <String,ArrayList<Article>> channelArticleMap = new HashMap<String,ArrayList<Article>>();

 调用方式示例如下:

<#if channelArticleMaps??>
<#list channelArticleMaps as channelArticleMap>
  <div class="channel">
     <#list channelArticleMap?keys as channelName > 
     <div class="channelName">&nbsp;&nbsp;${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

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值