UJCMS系统的模板位于/templates
文件夹,如/templates/1/default/channel_product.html
。URL地址即页面的访问地址,如https://demo.ujcms.com/channel/product
。
显然,如果要直接访问/templates/1/default/channel_product.html
文件,URL地址应该为https://demo.ujcms.com/templates/1/default/channel_product.html
。但这样显示出来的是纯粹的静态页面,模板文件里使用的Freemarker语法和UJCMS标签都无法被解析,甚至模板里引用的css、js文件也可能因为地址问题而无法访问。
如果要让模板里的Freemarker语法和UJCMS标签能够被正确的解析,就不能通过静态页的方式进行访问,而需要经过程序。
即URL地址
->程序Controller
->Freemarker模板
的流程。
首先,访问的URL地址必须是程序Controller能够接收的地址。一般有栏目Controller,接收/channel/{栏目别名}
访问地址;文章Controller,接收/article/{文章ID}
访问地址。
然后,程序Controller将请求转发到模板。具体转发到哪个模板,由栏目管理中,相应栏目别名
的栏目模板
和文章模板
确定。
从上一节可知,要访问某个模板,必须通过栏目或者文章的访问地址,再到某个模板。如果希望访问一个自定义的模板,但又不想通过栏目或者文章地址,是否有办法呢?
可以使用自由模板。访问地址是/app/{name}
,可访问对应的模板/templates/1/default/app_{name}.html
。如/app/abc
访问/templates/1/default/app_abc.html