jeecms使用记录
2、使用
1、先在本地创建项目,完成静态页面并添加对应的js效果
2、将公用部分提取出来,方便不同页面调用
引用方法: [#include "../includes/naheader.html"/]
公用部分不需要html,body,head标签,只需要将代码与引用的css或js单独写就可以。
3、引用js插件,如jquery.min.js
首先,在jeecms后台管理系统的文件中,选择default=>js,上传,将所需js文件上传到js文件夹中(或者自己新建的某个文件夹)
然后,在html代码中引用
<script type="text/javascript" src="${res}/js/najs/jquery.min.js"></script>
我没有引用jeecms使用的轮播插件,我引用的swiper
<script type="text/javascript" src="${res}/js/najs/swiper.min.js"></script>
4、引用css与img的方法类似,路径前缀为${res}
5、新建模板
在jeecms后台管理系统中,选择模板管理,模板根目录中有两个文件夹,default和mobile,default是pc端,mobile是移动端
我们现在只看pc端
首页:在default文件夹中,有个index文件夹,该文件夹下的index.html为网站首页,用自己的首页html内容,替换已有内容;
其他页面:如新闻页面。首先,在default=>channel文件夹中新增news.html,加入自己的代码,然后在jeecms后台管理的栏目管理中新增新闻栏目并加入子栏目,栏目pc端模板选择自己加上去的html模板;
若要新增内容,在子栏目中的内容模板中选择相应的内容模型,在内容管理的对应模块下添加内容。
注意:即使刷新,或者关闭窗口重新打开,否则,新增的模板或者栏目不显示
6、接口调用
引入以下文件
<script type="text/javascript" src="${res}/js/najs/jquery.min.js"></script>
<script src="${res}/js/jquery.my-message.1.1.js"></script>
<script src="${res}/js/app.js"></script>
——————————————————————————————————————————————————————————————————————————————————————————————————————
api.GET('/content/page', {
'page': page,
'size': 12,
'channelIds': 2319
},function (result) {
if (result.code == 200) {
console.log(result)
$("#zxlist").remove()
var cont = result.data.content;
/* 分页 */
let idx = 1;
const count = result.data.totalElements;
const s = Math.ceil(count/12);
if (Math.ceil(count/12)<7) {
for(let j=1;j<8-s;j++) {
$(".pagination li:nth("+(8-j)+")").addClass("hideli");
}
}
$(".pagination li").click(function() {
const stype = $(this).attr("stype");
if (stype!='-2'&&stype!='-1') {
$('.pagination li a').removeClass('active');
$(this).children("a").addClass('active');
const cp = $(this).children("a").html();
getList(cp)
} else {
if (stype=='-1'&&idx<=Math.ceil(count/12)-7) {
idx++;
for(let i=idx;i<(idx+7);i++) {
$('.pagination li:nth('+(i-idx+1)+')').children("a").html(i);
}
getList($(".pagination li a[class='active']").html())
}
if (stype=='-2'&&idx>=1) {
for(let i=idx;i<(idx+7);i++) {
$('.pagination li:nth('+(i-idx+1)+')').children("a").html(i);
}
getList($(".pagination li a[class='active']").html())
idx--;
}
}
})
/* 分页 */
var $text = '<div class="fwct1-list" id="zxlist">'
for(var i = 0; i < cont.length; i++){
$text += `<div class="list-item">
<div class="list-item-top">
<img src="`+cont[i].iconUrl+`"/>
</div>
<div class="list-item-ct">
<h3>`+cont[i].title+`</h3>
<p>`+cont[i].description+`</p>
<p class="more">
<a href="`+cont[i].url+`" target="_blank">探索详情 MORE ——→</a>
</p>
</div>
</div>`;
}
$text += ` </div>`
$('.my-zixun').append($text);
if(!result.data.content){
$("#page").css('display','none')
$empty ='<p class="empty">当前暂无数据</p>'
$('.my-zixun').append($empty);
}
}
})
7、JEECMS V3.0(http://www.jeecms.com/bqsy/224.htm)
3、JEECMS V3.0部分使用说明(224-242)
1、根据栏目路径、ID调用栏目名及链接:
[@cms_channel path='news'] <a href='${tag_bean.url}'>${tag_bean.name}</a> [/@cms_channel]
[@cms_channel id='5']<a href='${tag_bean.url}'> ${tag_bean.name} </a>[/@cms_channel]
2、栏目列表标签:
[@cms_channel_list ]
[#list tag_list as c]
<a href="${c.url}">${c.name}</a>
[/#list]
[/@cms_channel_list]
3、子栏目列表
[@cms_channel_list parentId=channel.id count='10' tpl='1' tplSub='my']
[#list tag_list as c]
<a href="${c.url}">${c.name}</a>
[/#list]
[/@cms_channel_list]
【parentId】 父栏目ID。存在时,获取该栏目的子栏目,不存在时获取顶级栏目。
【 siteId 】 站点ID。存在时,获取该站点顶级栏目,不存在时获取当前站点顶级栏目。(仅在parentId不存在时起作用)
【hasContent】 是否有内容。默认所有,否则只获取有内容的栏目
【tplSub】 自定义栏目模板后缀
4、文章列表(com.jeecms.cms.action.directive.ContentAbstractDirective):
[@cms_content_list tpl='2' styleList='1-1' lineHeight='2' bottomLine='1' headMark='3' dateFormat='MM-dd' datePosition='2' titLen='10' append='…' count='5' channelId='1' channelOption='1'/]
[@cms_content_list count='5' channelId='1' channelOption='1']
[#list tag_list as a]
${a.type.name}<a href="${a.url}">${a.title}</a>
[/#list]
[/@cms_content_list]
【tpl】 标签公用属性,可选值有:
0--调用内嵌标签样式;
1--调用用户自定义标签样式;
2--调用系统预定义标签样式;
3--调用用户预定义标签样式。
【lineHeight】 行高;【行高】
【headMarkImg】 列表头图片;【图片地址】
【headMark】 列表头编号;【1:小黑点;2:小红点;3:单箭头;4:双箭头】
【bottomLine】 下划线;【0:无;1:有】不能为空。
【dateFormat】 日期格式;【java日期格式,如:yyyy-MM-dd】
【datePosition】 日期位置;【1:后面左边;2:后面右边;3:前面】不能为空
【ctgForm】 类别;【0:无;1:栏目;2:站点】不能为空
【showTitleStyle】显示标题样式;【0:不显示;1:显示】不能为空
【useShortTitle】 是否使用简短标题;【0:不使用;1:使用】不能为空
【titLen】 标题长度;【英文字母按半个计算】为空则不截断
【target】 是否新窗口打开;【0:原窗口;1:新窗口】不能为空
5、字符串长度截断标签
[@text_cut s=title len=titLen append=append/]
【s】 需要截断的字符串,tit为字符串对象
【len】 目标长度,titLen可以是其它标签中传递过来的参数
【append】 截断后显示的字符,append可以是其它标签中传递过来的参数
6、最上级栏目标签
${channel.nodeList[0].name}
7、栏目节点列表标签(用于获取页面导航路径)
[#list channel.nodeList as n] ${n.name}<br/>[/#list]
8、栏目列表标签
作 用:显示各栏目列表
参 数:
parentId:存在时,获取该栏目的子栏目,不存在时,获取顶级栏目
siteId:站点ID。存在时,获取该站点顶级栏目,不存在时获取当前站点顶级栏目。(仅在parentId不存在时起作用)
hasContent:是否只获取可以有内容的栏目。【0:获取所有;1:只获取可以有内容的栏目】(默认0)
linkClass:链接class
style:标签内部样式。如果指定sysContent或userContent,则该项无效。【1:普通链接列表;】(默认1)
sysTpl:使用系统模板。【0:不使用;1:使用】(默认1)
sysContent:系统内容样式。(默认0)
userContent:自定义内容样式。如果指定了系统内容样式,则该项无效。(默认0)
sysPage:系统分页样式。【0:不分页;1:样式一;2:样式二】(默认0)
userPage:自定义分页样式。如果指定了系统分页样式,则该项无效。【0:不分页;1:样式一;2:样式二】(默认0)
custom:字符串数组。用于个性化处理。(默认空数组)
【备 注】:在代码模式下编辑,各属性值必须使用单引号,属性排列顺序不分先后。
示例:
[@cms_channel_list tpl='1'/]
9、根据id获取详情
api.GET('/content/' + id,{}, function(result) {
console.log(result);
content = result.data
})
在详情页调用页面内容直接使用${content.title}