opencms8.5.0-新建自定义结构化类型(Structured contents)
来源:互联网 发布:青木原树海 知乎 编辑:程序博客网 时间:2024/05/29 10:11
1-切换试图:
2-新建xsd文件:
右键点击新建的school.xsd文件→Edit sourcecode(编辑源代码),输入以下代码:
<?xml version="1.0"?><xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"elementFormDefault="qualified"><xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd" /><!--此处name必须以 "s" 结尾,且type以 "OpenCms" 开头 --><xsd:element name="Schools" type="OpenCmsSchools" /><xsd:complexType name="OpenCmsSchools"><xsd:sequence><xsd:element name="School" type="OpenCmsSchool"minOccurs="0" maxOccurs="unbounded" /></xsd:sequence></xsd:complexType><xsd:complexType name="OpenCmsSchool"><xsd:sequence><!--本自定义类型包含的内容,Title标题,Text文本框 --><xsd:element name="Title" type="OpenCmsString" /><xsd:element name="Text" type="OpenCmsHtml" /></xsd:sequence><xsd:attribute name="language" type="OpenCmsLocale" use="required" /></xsd:complexType><xsd:annotation><xsd:appinfo><!-- 绑定的properties文件 --><resourcebundle name="my.opencms.school.workplace" /><mappings><mapping element="Title" mapto="property:Title" /></mappings><layouts><!-- 配置上面的文本框 --><layout element="Text" widget="HtmlWidget" /></layouts><validationrules /><defaults /><relations /><!-- 布局标签 --><formatters><!-- side.jsp 为在侧边的模板,定义宽高等属性 --><formatter minwidth="150" maxwidth="250"uri="/system/modules/my.opencms.school/formatters/side.jsp" /><!-- detail.jsp 为在body中间显示内容的模板,定义宽高等属性 --><formatter minwidth="400"uri="/system/modules/my.opencms.school/formatters/detail.jsp" /></formatters></xsd:appinfo></xsd:annotation></xsd:schema>
保存,退出。
4-新建property文件:
Continue >>
Advanced >>
右键点击新建的workplace.properties文件→Edit sourcecode(编辑源代码),代码如下:
# TestNews nodes 用于在“新建”向导中显示的名称 fileicon.school=我的校园#新建“我的校园”类型时在对话框窗口显示的标题内容title.newschool=添加一条校园新闻#编辑器中相应标签元素显示的名称,以下面编辑校园新闻内容是可看见效果label.School.Title = 标题 label.School.Text= 内容
保存,关闭。
5-将创建的xsd文件作为资源类型加入到模块中:打开安装opencms安装目录下,opencms\WEB-INF\config\下的opencms-module.xml配置文件,在配置文件中找到你的模块代码,并添加新配置代码,完整代码如下所示:
<module> <name>my.opencms.school</name> <nicename><![CDATA[我的校园]]></nicename> <class/> <description><![CDATA[关于本模块的相关描述]]></description> <version>0.1</version> <authorname><![CDATA[yufu]]></authorname> <authoremail><![CDATA[ilxly01@126.com]]></authoremail> <datecreated/> <userinstalled/> <dateinstalled/> <dependencies/> <exportpoints> <exportpoint uri="/system/modules/my.opencms.school/classes/" destination="WEB-INF/classes/"/> </exportpoints> <resources> <resource uri="/system/modules/my.opencms.school/"/> </resources> <parameters/><!-- **************** 以下为新添加的内容 ****************** --><resourcetypes><!-- type中的id为唯一,为不和系统的冲突,最好在1000以上,且相互间不能冲突 --> <type class="org.opencms.file.types.CmsResourceTypeXmlContent" name="school" id="7004"> <param name="schema">/system/modules/my.opencms.school/schemas/school.xsd</param> </type> </resourcetypes> <explorertypes><!-- fileicon-自定义类型的文字(workplace.properties文件中读取) icon-自定义类型的图标 --> <explorertype name="school" key="fileicon.school" icon="school.gif" reference="xmlcontent"> <newresource page="structurecontent" uri="newresource_xmlcontent.jsp?newresourcetype=school" order="7004" autosetnavigation="false" autosettitle="false"/> <!-- 权限控制 --><accesscontrol><!-- 给予 Administrators(管理员)组,Projectmanagers(项目管理者)组,Users(用户组) 读写的全权限 --> <accessentry principal="GROUP.Administrators" permissions="+r+v+w+c"/> <accessentry principal="GROUP.Projectmanagers" permissions="+r+v+w+c"/> <accessentry principal="GROUP.Users" permissions="+r+v+w+c"/> </accesscontrol> </explorertype> </explorertypes><!-- **************** 以上为新添加的内容 ****************** --> </module>
保存,关闭。
点击 发布项目,重启tomcat。
6-现在能看到自己新建的类型
Continue >>
7-完善自定义类型中的模板
现在根据这个类型创建出来的页面还不能显示东西,因为xsd文件有配置2个jsp页面,detail.jsp和side.jsp,还没有添加内容,现在添加进去:
detail.jsp内代码为:
<%@page buffer="none" session="false" taglibs="c,cms,fmt" %><fmt:setLocale value="${cms.locale}" /><cms:formatter var="content" val="value"><div class="view-article"><div class="content">${value.Title}<br/><!-- 显示文本框内容 -->${value.Text}</div></div></cms:formatter>
side.jsp内代码为:
<%@page buffer="none" session="false" taglibs="c,cms,fmt" %><fmt:setLocale value="${cms.locale}" /><fmt:bundle basename="my/opencms/testnews/messages"><cms:formatter var="content" val="value"><div class="view-article"><div class="content">${value.Title}<br/>${value.Text}</div></div></cms:formatter></fmt:bundle>
8-为了能使自定义的类型能在浏览器界面上实现拖拽功能,要配置config文件
Continue >>
Continue >>
Finish.
在新建的.config文件上,右键→Edit(编辑)
输入完成,点击左上角的保存并退出。
至此自定义类型完成,可以到浏览器页面拖拽使用了。
- opencms8.5.0-新建自定义结构化类型(Structured contents)
- opencms8.5.0-新建模块
- opencms8.5.0-新建模板
- 结构化预测(structured prediction)
- 结构化思维(Structured Thinking)
- opencms8.5.0-安装
- OpenCms自定义结构化类型
- 什么是结构化方法 Structured Method
- 结构化查询语言(Structured Query Language)
- 结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)
- opencms8.5.0-使用列表功能
- Structured Articles - 结构商品
- 结构化数据(structured),半结构化数据(semi-structured),非结构化数据(unstructured)的定义和区别
- SQL结构化查询语言(Structured Query Language)
- sql: structured query language(结构化查询语言)
- Oracle结构化查询语言(Structured Query Language)
- SQL:结构化查询语言(Structured Query Language)。
- SQL(Structured Query Language)结构化查询语言
- 内核层关机重启
- 0013算法笔记——【动态规划】最大子段和问题,最大子矩阵和问题,最大m子段和问题
- oracle exp不生成dumpfile,预估出实际导出文件的大小。
- java调用存储过程同时获取[返回参数]和[结果集]
- Android App 开发 设计模式第八篇:抽象工厂模式
- opencms8.5.0-新建自定义结构化类型(Structured contents)
- Java Review 12 Exception
- CentOS 安装中文输入法
- 如何成为强大的程序员?
- java解析xls
- C++ static成员变量与static成员函数
- 网页的<title> 部分与后台数据库绑定
- hibernate主键生成策略全览
- Direct access to objective-c's isa is deprecated...