opencms自定义文章类型
第一步:创建模块,使用管理员视图添加自定义模块
第二步:在新增模块schemas目录下新增xsd文件,文件内容如下:
/system/modules/com.mysite.example/schemas/article.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd" />
<xsd:include schemaLocation="opencms://system/modules/com.mysite.example/schemas/basic.xsd" />
<xsd:include schemaLocation="opencms://system/modules/com.mysite.example/schemas/content.xsd" />
<xsd:element name="ArticleTypes" type="OpenCmsArticleTypes" />
<xsd:complexType name="OpenCmsArticleTypes">
<xsd:sequence>
<xsd:element name="ArticleType" type="OpenCmsArticleType" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OpenCmsArticleType">
<xsd:sequence>
<xsd:element name="basic" type="OpenCmsBasicType" />
<xsd:element name="content" type="OpenCmsContentType" minOccurs="1" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="language" type="OpenCmsLocale" use="optional" />
</xsd:complexType>
<xsd:annotation>
<xsd:appinfo>
<resourcebundle name="com.mysite.example.workplace" />
<mappings>
<mapping element="basic/title" mapto="property:Title" />
<mapping element="basic/datereleased" mapto="attribute:datereleased" />
<mapping element="basic/keywords" mapto="property:Keywords" />
<mapping element="basic/summary" mapto="property:Description" />
</mappings>
<defaults>
<default element="basic/datereleased" value="${currenttime}" />
<default element="basic/author" value="${currentuser.fullname}" />
</defaults>
<layouts></layouts>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema>
/system/modules/com.mysite.example/schemas/basic.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd" />
<xsd:element name="BasicTypes" type="OpenCmsBasicTypes" />
<xsd:complexType name="OpenCmsBasicTypes">
<xsd:sequence>
<xsd:element name="BasicType" type="OpenCmsBasicType" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OpenCmsBasicType">
<xsd:sequence>
<xsd:element name="title" type="OpenCmsString" />
<xsd:element name="keywords" type="OpenCmsString" />
<xsd:element name="tags" type="OpenCmsString" />
<xsd:element name="author" type="OpenCmsString" />