jspXCMS模版文件是什么
更新:HHH   时间:2023-1-7


本文小编为大家详细介绍“jspXCMS模版文件是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“jspXCMS模版文件是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

模版目录

模版的保存路径的规则:/template/{站点ID}/{模版主题}。如果当前站点ID为1,模版主题为default,则模版路径是/template/1/default。首页模板通常是/template/1/default/index.html。

这里需要注意的是,模板虽然也是HTML后缀,但和纯静态HTML并不完全一样。比如在浏览器里面访问首页http://localhost:8080/,显示/template/1/default/index.html模板里的内容。但大家都知道,这个地址应该访问/index.html页面。这是因为jspxcms系统对首页请求做了处理,将请求转发到/template/1/default/index.html模板里去了。也就是说,如果自己新建一个文件/template/1/default/test.html,通过http://localhost:8080/test.html是无法访问的。很显然,http://localhost:8080/test.html访问的是/test.html而不是/template/1/default/test.html。

同样的,如果直接访问http://localhost:8080/template/1/default/index.html,将会直接显示纯html内容,并不会解析里面获取动态数据的标签。

哪些请求会被jspxcms系统处理,并显示模板里面的内容呢?一般有首页(如http://localhost:8080/)、栏目页(如http://localhost:8080/node/12)、详细页(如http://localhost:8080/info/8)等。

模版资源

制作模版用到的css、js和图片等资源文件必须放到{模版路径}/_files目录下,如/template/1/default/_files。这是强制性的,否则资源文件不能正确显示。在模版中引用这些资源文件,可以使用相对路径,如:_files/my.jpg、_files/img/my.png、_files/css/my.css、_files/scripts/my.js。

为什么一定要放在_files目录下,为什么有这个限制?其实这不是限制,而是系统提供的一种便利。比如/template/1/default/index.html里面要引用/template/1/default/img/my.jpg图片,直接写<img src="img/my.jpg"/>在静态页面里面看起来没有问题;但实际运行的时候,首页的访问地址是http://localhost:8080/,那么对应的图片应该是/img/my.jpg,这显然无法访问到图片。应该要写<img src="/template/1/default/img/my.jpg"/>才能访问到图片。写这么长的地址非常麻烦,而且不灵活。所以系统提供了一个便利,会在运行时将_files替换成/template/1/default/_files,比如<img src="_files/my.jpg"/>,实际运行时会替换成<img src="/template/1/default/_files/my.jpg"/>。

所以有两种方式引用相应的资源,一种是写全地址如<img src="/template/1/default/img/my.jpg"/>,这样资源文件想放在哪里就放在哪里,只要地址正确;第二种是将资源路径放在_files目录下,通过类似_files/css/my.css的路径引用资源,系统在运行时自动替换成/template/1/default/_files/css/my.css。

模版文件

模版文件分为系统模版和自定义模版。系统模版的文件名是固定的,不能修改;自定义模版的文件名可以自己定义,甚至可以为中文(在Linux系统下要注意设置正确的编码)。

系统模版以sys_开头,主要包括会员中心模版、留言板模版、评论模版、投票模版、调查问卷模版、RSS模版、专题封面列表模版、搜索页模版等。这些模板都与url地址相对应,比如:

  • 搜索页。url:/search(如:http://www.mysite.com/search),模板:sys_search.html(如:/template/1/default/sys_search.html)

  • 留言板。url:/guestbook(如:http://www.mysite.com/guestbook),模板:sys_guestbook.html(如:/template/1/default/sys_guestbook.html)

自定义模版主要包括首页模版、栏目页模版、详细页模版、专题详细页模版等。另外有一些特殊的广告模版(sys_ad目录下的模版)、app模版(app_开头的模版)。

模版与URL地址

用户的URL请求先由程序处理,然后程序解析模版,将结果返回。如果直接访问模版,会当作一个静态的HTML显示,里面的FreeMarker代码和Jspxcms标签不会被解析。

URL地址是由程序预设的,比如栏目页地址/node/{栏目ID}.jspx、详细页地址/info/{文档ID}.jspx、搜索页地址/search.jspx、RSS地址/rss.jspx。栏目页和详细页支持静态化,如果使用了页面静态化,那么URL地址就取决于页面静态化的设置,比如/news/、/news/index.html、/news/23.html。

栏目页URL地址和详细页URL地址可以通过对象的属性获得,比如${node.url}、${info.url};不要写固定的URL,比如/node/12.jspx、/info/89.jspx,这样会导致在使用页面静态化时,不会自动的切换成静态页地址。

模版的通用默认对象

  • global:全局对象。类型:com.jspxcms.core.domain.Global。

  • site:当前站点。类型:com.jspxcms.core.domain.Site。

  • orgs:当前用户所属组织集合(一个用户可以属于多个组织)。未登录则为null。类型:java.util.Collection<com.jspxcms.core.domain.Org>。

  • org:当前用户所属主组织。未登录则为null。类型:com.jspxcms.core.domain.Org。

  • groups:当前用户所属用户组集合(一个用户可以属于多个用户组)。未登录则为游客用户组。类型:java.util.Collection<com.jspxcms.core.domain.MemberGroup>。

  • group:当前用户所属主用户组。未登录则为游客用户组。类型:com.jspxcms.core.domain.MemberGroup。

  • user:当前登录用户。未登录则为null。类型:com.jspxcms.core.domain.User。

  • dy:动态路径。比如搜索页地址${dy}/search.jspx。

  • ctx:上下文路径。比如:${ctx}/static/vendor/My97DatePicker/WdatePicker.js。等同于HttpServletRequest.getContextPath()。类型:java.lang.String。

  • url:当前页面URL地址。类型:java.lang.String。

读到这里,这篇“jspXCMS模版文件是什么”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注天达云行业资讯频道。

返回开发技术教程...