OFCMS 模板开发手册 java 版cms系统
2022-07-28 15:28:32
153
{{single.collect_count}}

一、模板说明

项目概述

java 版CMS系统、基于java技术研发的内容管理系统、功能:栏目模板自定义、内容模型自定义、多个站点管理、在线模板页面编辑等功能、代码完全开源、MIT授权协议。

技术选型

模板采用 freemarker 进行前端渲染

模板目录

系统的模板目录在系统根目录下的templets内,下面是模板目录的文件目录结构。

 

├─default······································································ 默认模板目录

│ ├─image································································ 模板图片目录

│ ├─js······································································ 模板JS脚本目录

│ └─style··································································· 模板CSS样式目录

├─news········································································· 新闻模板

├─common········································································· 公共模板目录

├─index············································································ 首页

├─list·················································································· 默认列表页

├─sing·················································································· 默认单页

├─404·················································································· 默认错误页

└─article············································································· 默认详情页

├─mobile······································································ 手机站点模板目录

 

模板格式

模板采用 freemarker 进行前端渲染

项目路径 :${webroot}

资源路径:${reroot}

模板必需包含几个页面

index.html 首页 list.html 列表页 article详情页 sing 默认单页 404.html

列表模板

指网站某个栏目的所有文章列表的模板,一般用 “list_名称.html” 命名。

栏目没有配置则跳转到默认list页面

详情模板:

表示内容详情页的模板,如文章模板,一般用 “article_名称.html” 命名。

栏目没有配置则跳转到默认页面article页面

二、标签使用

 

友情链接

 <@of.like site_id=site.site_id>  <p class="nav">      <#list like as data >          <a href="${data.link_url}">${data.link_name}</a>|      </#list>  </p></@of.like>

site_id 根据需要可以写死,假如两个站点使用一个数据。

标签说明: of.like

  • site_id=site.site_id:site当前站点数据

  • like:系统返回数据对象集合

  • link_url:指定链接类型,不指定为全部,image图片,text文字

  • link_name:调用条数,不指定则读取全部,也可使用limit="1,3"的方式调用

  • as:list 循环输出的标识,即调用字段${data.link_url}

  • data :like对象别名

  • 默认根据排序字段 asc排序

 

公告列表标签

 <@of.announce_list site_id=site.site_id limit=5>    <#list announce as data >        <li>                <a href="${data.id}"></a>|                       <span>${data.create_time}</span>                      <a href="page.html?s=/announce&content_id=${data.id}"                           title="${data.title}">${data.title}                </a>         </li>    </#list> </@of.announce_list>

标签说明: of.announce_list

  • site_id=site.site_id:site当前站点数据

  • limit:显示几条数据

  • announce:系统返回数据对象集合

  • create_time:创建时间

  • title:标题

  • content:显示内容

  • sort :默认根据排序字段 desc 排序 越大越前面

 

公告内容标签

<@of.announce site_id=site.site_id content_id=params.content_id>  <h2 class="content-title"> ${announce.title}</h2>  <div class="content-inf">发布时间:${announce.create_time}  </div>  <div class="content-txt">${announce.content}</div></@of.announce>

标签说明: of.announce

  • site_id=site.site_id:site当前站点数据

  • content_id:内容编号

  • announce:系统返回数据对象集合

  • create_time:创建时间

  • title:标题

  • content:显示内容

 

内容列表标签

 <@of.content_list site_id = site.site_id column_name="industry,company" limit=5> <#list content_list as data >     <li><span>${data.create_time}</span>·<a href="${data.url}" title="${data.title_name}">${data.title_name}</a> </li> </#list></@of.content_list>

标签说明: of.content_list

  • site_id=site.site_id:site当前站点数据

  • column_id:显示数据的栏目编号 column_id="12,3"

  • column_name:显示数据的栏目名称,与上面编号只能同时存在一个

  • content_list:系统返回数据对象集合

  • create_time:创建时间

  • title_name:标题

  • content:显示内容

  • thumbnail:缩略图

  • url:请求地址

  • sort :默认根据排序字段 desc 排序 越大越前面

内容列表分页

 <@of.content_list site_id = site.site_id column_id=column.column_id limit=2>  <ul>      <#list content_list as data >          <li>          <a href="${data.url}">              <img src="${reroot}/static/assets/image/123.jpg">              <span>${data.title_name}</span>             </a>          </li>      </#list>  </ul>  <@of.page /></@of.content_list>

标签说明:<@of.page />

  • <#include "comn/page.html" /> 分页页面

  • <@of.page />

 

内容标签

  <@of.content site_id=site.site_id content_id=params.content_id>  <h2 class="content-title"> ${content.title_name}</h2>  <div class="content-inf">发布时间:${content.create_time}   作者:${content.author}  浏览次数:<span          id="views">${content.clicks}</span>  </div>  <div class="content-txt">${content.content}</div></@of.content>

标签说明: <@of.content> </@of.content >

  • content_id:页面内容id参数、可以指定显示内容

  • title_name:内容标题

  • create_time:发布时间

  • clicks:浏览数

  • content:内容

 

栏目页属性

栏目名称:${columns.column_name!}

栏目编号:${columns.column_id!}

模板路径: ${columns. template_path!}

meta标题: ${columns. title!}

meta关键字:${columns. keywords!}

meta描述: ${columns. description!}

每页记录数:${pageSize!}

栏目图: ${columns. column_image!}

内容: ${columns. column_content!}

 

 

 

站点全局属性

标签说明: ${site.stie_id}

site: 前缀

access_protocol:请求协议,http,https

site.access_path:访问路径

 

栏目标签

<@of.column site_id=site.site_id >          <li class="layui-nav-item <#ifcolumns.column_english == null> layui-this</#if>"><a href="${session.site.access_protocol}://${session.site.access_path}">首页</a>              <#list column as data >          <li class="layui-nav-item <#if data.column_english == columns.column_english> layui-this</#if>">               <@of.column site_id=site.site_id parent_id=data.column_id >          <a href="<#if column?? && (column?size>0)> javascript:;<#else>${data.column_english}.html</#if>">${data.column_name}</a>          <#if column?? && (column?size>0)>                  <dl class="layui-nav-child"> <!-- 二级菜单 -->                      <#list column as child >                          <ddclass=" <#if child.column_english == columns.column_english> layui-this</#if>" ><a href="${child.column_english}.html">${child.column_name}</a></dd>                      </#list >                  </dl>              </#if>             </@of.column>          </li>          </#list>      </@of.column>

标签说明: <@of.column site_id=site.site_id >

column_name : 栏目名称

column_id :栏目编号

column_english:栏目别名url填写此属性

parent_id:上级栏目

column:返回数据对象

多级导航内部嵌套

广告标签

 <@of.ad site_id=site.site_id edition="banner"> <#list ad as data >     <div><a href="${data.ad_jump_url!'javascript:;'}"><img             src="${session.site.access_protocol}://${session.site.access_path}${data.ad_image_url}"             alt="${data.ad_name}" style="width: 100%;"></a></div> </#list></@of.ad>

site_id 根据需要可以写死,假如两个站点使用一个数据。

标签说明: of.ad

  • site_id=site.site_id:site当前站点数据

  • edition:广告位

  • ad_jump_url:图片跳转地址

  • ad_image_url:广告图片地址

  • ad_name:广告名称

主题标签

 <@of.topic site_id=site.site_id>  <p class="nav">      <#list topic as data >          <a href="${data.topic_template}">${data.topic_name}</a>|      </#list>  </p></@of.topic>

site_id 根据需要可以写死,假如两个站点使用一个数据。

标签说明: of.topic

  • site_id=site.site_id:site当前站点数据

  • topic_template:模板路径

  • topic_image:标题图片

  • topic_name:标题名称

  • topic:返回对象别名

留言标签

 <@of.bbs site_id=site.site_id limit="10">  <p class="nav">      <#list bbs as data >          <a href="${data.bbs_id}">${data.content}${data.rev_content}${data.mobile}${data.email}${data.create_time}</a>|      </#list>  </p></@of.bss>

site_id 根据需要可以写死,假如两个站点使用一个数据。

保存留言接口:域名:8081/api/v1/bbs/save site_id 站点、content 内容 必传

标签说明: of.bbs

  • site_id=site.site_id:site当前站点数据

  • limit:显示多少条记录

  • content:留言内容

  • rev_content:回复内容

  • mobile:手机号

  • email:邮箱

  • create_time:创建时间

  • title:标题

 

评论标签

 <@of.comment site_id=site.site_id content_id=params.content_id limit="10"><#list comment as data > ${data.comment_content} ${data.comment_time} |</#list></@of.comment>

site_id 根据需要可以写死,假如两个站点使用一个数据。

保存留言接口:域名:8081/api/v1/comment/save site_id 站点、content_id comment_content内容 必传

详细请参考article 页面

标签说明: of.bbs

  • site_id=site.site_id:site当前站点数据
  • limit:显示多少条记录
  • comment_content:评论内容
  • content_id:内容编号
  • comment_time:评论时间

系统标签

 <@of.system>  <p >      ${system.tel}${system.fax}   ${system.address}   ${system.icp }                               ${system.front_copyright } </p></@of.system>

标签说明: of.system 后台设置功功能修改

  • tel=电话

  • fax:传真

  • address:地址

  • icp:备案号

  • front_copyright:版权

 

三、常见问题

回帖
全部回帖({{commentCount}})
{{item.user.nickname}} {{item.user.group_title}} {{item.friend_time}}
{{item.content}}
{{item.comment_content_show ? '取消' : '回复'}} 删除
回帖
{{reply.user.nickname}} {{reply.user.group_title}} {{reply.friend_time}}
{{reply.content}}
{{reply.comment_content_show ? '取消' : '回复'}} 删除
回帖
收起
没有更多啦~
{{commentLoading ? '加载中...' : '查看更多评论'}}