OpenCMS创建自定义模板2

2007-3-6 Jerry 开发

在模板中使用资源
举个样式表的例子。在模块的resources目录中,创建一个文本文件(Text),名为main.css,其代码如下:
[code]
h1 { color: navy; }
body { font-family: serif; }
[/code]

修改example_template.jsp,在title下面加入
[code]《-link type="text/css" rel="stylesheet" href="《-cms:link-》/system/modules/模块名称/resources/main.css《-/cms:link-》"/-》[/code]

这样,显示template_test.html的时候会发现,使用了main.css样式表。

使文件可以编辑
修改example_template.jsp,在link后面加入
[code]《-cms:editable/-》[/code]

修改包含text1的那句代码为
[code]《-cms:include element="text1" editable="true"/-》 [/code]

这样,显示template_test.html的时候会发现,中间部分出现target按钮,可以直接编辑了。

创建导航文件
在模块的elements目录中,创建navigation.jsp,代码如下:
[code]
《-%@ page session="false" import="java.util.Iterator, java.util.List, org.opencms.jsp.CmsJspNavBuilder, org.opencms.jsp.CmsJspNavElement, org.opencms.jsp.CmsJspActionElement" %-》
《-%
/* * Provides basic site navigation. */
// Create the class from which we will get navigation.
CmsJspActionElement cms = new CmsJspActionElement( pageContext, request, response );
// Get navigation info
CmsJspNavBuilder navigation = cms.getNavigation();
List navItems = navigation.getNavigationForFolder();
Iterator i = navItems.iterator();
// Loop through all of the items in the ArrayList and print the
// menu.
while( i.hasNext() )
{
CmsJspNavElement navElement = ( CmsJspNavElement )i.next();
String link = cms.link( navElement.getResourceName() );
String title = navElement.getTitle();
out.println("»《-a href=\"" + link + "\"-》" + title + "《-/a-》《-br/-》");
}
%-》
[/code]

在模板中包含Scriptlets
修改example_template.jsp模板文件,在h1后插入代码:
[code]
《-div name="menu" style="float:left;border:1px solid gray;padding: 3px;"-》
《-b-》Menu《-/b-》《-br /-》
《-cms:include file="../elements/navigation.jsp"/-》
《-/div-》
[/code]

这样,显示template_test.html时候,会在左侧显示出导航条。

另外,还可以在example_template.jsp模板文件中插入一行小代码用来显示当前日期和时间
[code]《-p-》Right now, it is 《-%= new java.util.Date() %-》《-/p-》 [/code]


发表评论:

Powered by emlog sitemap