前言:

使用jeecmsV9已经有一段时间,现在PC端的二次开发基本进入尾声,手机端的开发即将开始 ,由于项目时间比较紧,开发时不是每个人都会使用它自带的标签,所以在PC端开发的时候浪费了大量时间,为了在手机端开发时不出现这种情况,我将我这段时间使用jeecmsV9的一些经验做一下小结。(本文将着重讲一下自定义标签的使用)

jeecmsV9介绍:

jeecmsV9主要分为前台网站和后台管理网站两个部分。
前台网站使用传统的HTML+CSS+JS的方式进行搭建,与后台(java)的数据传输方式使用的是自定义标签,这种方式有优点也有缺点,优点是可以省去后台开发的时间 ,数据在后台管理网站配好之后可以直接通过标签的方式取到;缺点是一旦用户在后台将数据误删,标签将取不到任何数据,即使重新添加回来数据也无法显示,只有改变标签中的值才能得到数据。
后台管理网站使用的是VUE进行搭建,同时支持前后端分离和不分离的开发方式,在未购买授权版cms之前开发极为困难,购买授权版之后开发相对简单,但需要具有一定VUE基础的开发人员才能开发。
后端(java)由于一直没有时间研究,在此就不做介绍。
整个系统基本围绕“栏目”(channel)及“内容”(content)进行开发,栏目有自身的属性,可以拥有子栏目,只有最低一级的栏目可以拥有内容。

常用的自定义标签及其使用方式:

栏目列表获取方式:

  1. [@cms_channel_list parentId=channel.id]
  2. [#list tag_list as c]
  3. <li>
  4. <a href="${c.url}">
  5. ${c.name}
  6. </a>
  7. </li>
  8. [/#list]
  9. [/@cms_channel_list]

指定parentId属性时查询的是当前栏目的子栏目,不指定时查询的是所有一级栏目,
parentId可以直接指定,如parentId=‘1’

单栏目获取方式:

  1. [@cms_channel id='1' path=’news siteId=’1’]

参数详解:
id:栏目ID 若id参数不为空则另外两个参数无效
path:栏目路径 ,若id为空则根据站点id和path来获取栏目对象
siteId: 站点ID,存在时获取该站点栏目,不存在时获取当前站点栏目
具体例子:

  1. [@cms_channel id='1']
  2. <a href="${tag_bean.url}" target="_blank">${tag_bean.name}</a>
  3. [/@cms_channel]

指定栏目的ID之后,该栏目的所有属性都可以取到,需要注意的地方是,我们自己 自定义的字段在获取时需要加“attr”,如:

  1. <span>均价:${tag_bean.attr.money}</span>

内容列表获取方式:

  1. ##不分页
  2. [@cms_content_list channleId=channel.id count='10' titLen='15' orderBy='9' channelOption='1']
  3. [#list tag_list as a]
  4. <div>${a.title!}</div>
  5. [/#list]
  6. [/@cms_content_list]
  7. ##分页
  8. [@cms_content_page count='10' typeId='7' channelId='126' orderBy='2' channelOption='1']
  9. [#list tag_pagination.list as a]
  10. <div>${a.title!}</div>
  11. [/#list]
  12. [#include "../include/page.html"/]
  13. [/@cms_content_page]

参数详解:
channelId : 栏目ID,允许多个栏目ID,用“,”分开。
typeId:类型ID,可选,允许多个类型ID,用“,”分开。
以上两个参数都不指定时查询所有的内容,指定channelId时查询指定栏目下的所有内容,指定typeId时查询所有栏目下内容类型为typeId的所有内容,同时指定时查询指定栏目下内容类型为typeId的所有内容;channleId=channel.id是获取当前栏目的 ID,只有在栏目页才可以用这种方式。
recommend:是否推荐。 0 :所有都推荐 1 :推荐 2 :不推荐,默认所有
count:每页多少条数据
orderBy :排序方式 0:ID降序 1:ID升序 2:发布时间降序 3:发布时间升序 4:固定级别降序,发布时间降序 5:固定级别降序,发布时间升序 6:日访问降序(推荐)7:周访问降序 8:月访问降序 9:总访问降序 10:日评论降序(推荐) 11:周评论降序 12:月评论降序 13:总评论降序 14:日下载降序(推荐)15:周下载降序 16:月下载降序 17:总下载降序 18:日顶降序(推荐) 19:周顶降序 20:月顶降序 21:总顶降序22:推荐降、发布降 23:推荐升、发布降

单内容:

  1. <li>
  2. <strong>上一篇:</strong>
  3. [@cms_content id=content.id next='1' channelId=channel.id]
  4. [#if tag_bean??]
  5. <a href="${tag_bean.url}">${tag_bean.title}</a>
  6. [#else]
  7. 没有了
  8. [/#if]
  9. [/@cms_content]
  10. </li>
  11. <li>
  12. <strong>下一篇:</strong>
  13. [@cms_content id=content.id next='0' channelId=channel.id]
  14. [#if tag_bean??]
  15. <a href="${tag_bean.url}">${tag_bean.title}</a>
  16. [#else]
  17. 没有了
  18. [/#if]
  19. [/@cms_content]
  20. </li>

id: 内容ID
next: 0 下一篇 1上一篇 ,非必选,若是没有该参数则找到具体某文章。
channelId:栏目ID 若是设置了栏目id,则上一篇下一篇是针对的栏目下的内容,若是没有设定则是本站内。

图片集获取方式:

图片集是只有在内容里面才有的属性,栏目无法取到此属性

  1. [@cms_content_list channleId=channel.id count='10' titLen='15' orderBy='9' channelOption='1']
  2. [#list tag_list as a]
  3. <div>
  4. [#list a.pictures as p ]
  5. <li><a href="javascript:void(0);"><img src="${p.imgPath!}" alt="" bigimg="${p.imgPath!}" text="${p.description!}" /><p class="img-sdec">${a.title!}</p> </a></li>
  6. [/#list]
  7. </div>
  8. [/#list]
  9. [/@cms_content_list]

字段截取:

  1. [@text_cut s=a.title len=’20 append=”…”/]

参数详解:
s:截取字符串长度
len:保留字符的长度
append:保留字段以后的追加字符以。。。。显示

总结

以上就是这段时间使用cms的总结,只列举了一些在项目中常用的,还有一些功能没有用到,比如留言、评论、广告等,用到的时候在做补充

作者:CodeFarmerYang
链接:https://www.jianshu.com/p/b43ca88cf1a9
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

jeecms使用小结的更多相关文章

  1. 从零开始编写自己的C#框架(26)——小结

    一直想写个总结,不过实在太忙了,所以一直拖啊拖啊,拖到现在,不过也好,有了这段时间的沉淀,发现自己又有了小小的进步.哈哈...... 原想框架开发的相关开发步骤.文档.代码.功能.部署等都简单的讲过了 ...

  2. Python自然语言处理工具小结

    Python自然语言处理工具小结 作者:白宁超 2016年11月21日21:45:26 目录 [Python NLP]干货!详述Python NLTK下如何使用stanford NLP工具包(1) [ ...

  3. java单向加密算法小结(2)--MD5哈希算法

    上一篇文章整理了Base64算法的相关知识,严格来说,Base64只能算是一种编码方式而非加密算法,这一篇要说的MD5,其实也不算是加密算法,而是一种哈希算法,即将目标文本转化为固定长度,不可逆的字符 ...

  4. iOS--->微信支付小结

    iOS--->微信支付小结 说起支付,除了支付宝支付之外,微信支付也是我们三方支付中最重要的方式之一,承接上面总结的支付宝,接下来把微信支付也总结了一下 ***那么首先还是由公司去创建并申请使用 ...

  5. iOS 之UITextFiled/UITextView小结

    一:编辑被键盘遮挡的问题 参考自:http://blog.csdn.net/windkisshao/article/details/21398521 1.自定方法 ,用于移动视图 -(void)mov ...

  6. K近邻法(KNN)原理小结

    K近邻法(k-nearst neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用.比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出 ...

  7. scikit-learn随机森林调参小结

    在Bagging与随机森林算法原理小结中,我们对随机森林(Random Forest, 以下简称RF)的原理做了总结.本文就从实践的角度对RF做一个总结.重点讲述scikit-learn中RF的调参注 ...

  8. Bagging与随机森林算法原理小结

    在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...

  9. scikit-learn 梯度提升树(GBDT)调参小结

    在梯度提升树(GBDT)原理小结中,我们对GBDT的原理做了总结,本文我们就从scikit-learn里GBDT的类库使用方法作一个总结,主要会关注调参中的一些要点. 1. scikit-learn ...

随机推荐

  1. leetcode-第5周双周赛-1135-最低成本联通所有城市

    方法一: class Solution: def minimumCost(self, N: int, conections: List[List[int]]) -> int: def find( ...

  2. C++模拟实现Objective-C协议和代理模式

    Objective-C的协议和代理是运用最多的特性之一,可以说在苹果系列开发中无处不在.事实上很多人都不知道其背后的原理.事实上简单点说,这就是设计模式中的代理模式的经典运用.代理模式简单点说就是为其 ...

  3. go中简单使用kafka

    windows上kafka的安装 1.安装jdk 下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jre8-download ...

  4. elasticsearch复合查询

    查询最近一小时内data.@level字段为Error的日志并按date倒序排列,输出最近10条,只输出[date,message]两个字段 GET events*/_search {     &qu ...

  5. SpringBoot 04_热部署

    热部署应用环境 IDEA2017.2 + MAVEN3.5 + SpringBoot1.5.6 热部署说明 1. devtools会监听classpath下的文件变动,并且会立即重启应用(发生在保存时 ...

  6. java线程池的使用学习

    目录 1. 线程池的创建 2. 线程池的运行规则 3. 线程池的关闭 4. 线程池的使用场合 5. 线程池大小的设置 6 实现举例 1. 线程池的创建 线程池的创建使用ThreadPoolExecut ...

  7. Python学习day25-面向对象之组合,多态和封装

    figure:last-child { margin-bottom: 0.5rem; } #write ol, #write ul { position: relative; } img { max- ...

  8. PKUOJ 区间内的真素数

    http://bailian.openjudge.cn/tm2018/A/ #include <iostream> #include <math.h> #include < ...

  9. C语言内存布局简记待补充

    C语言存储类型总结内存操作函数总结 用于自己学习和记录 1. void *memset(void *s, int c, size_t n); #include <string.h> 功能: ...

  10. angular路由配置以及使用

    一.生成路由文件 按照惯例,有一个独立模块来配置相关路由,这个模块类的名字叫做AppRoutingModule,位于src/app下的app-routing.module.ts文件中. 使用CLI生成 ...