opencms自定义文章类型
来源:互联网 发布:天猫数据平台啥样 编辑:程序博客网 时间:2024/05/16 15:38
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" />
<xsd:element name="datereleased" type="OpenCmsDateTime" />
<xsd:element name="source" type="OpenCmsString" />
<xsd:element name="summary" type="OpenCmsString" />
</xsd:sequence>
<xsd:attribute name="language" type="OpenCmsLocale" use="optional" />
</xsd:complexType>
<xsd:annotation>
<xsd:appinfo>
<resourcebundle name="com.mysite.example.workplace" />
<validationrules>
<rule element="title" regex="^.*[^S]+.*$" message="完整标题不允许为空!" />
<rule element="keywords" regex="^.*[^S]+.*$" message="关键字不允许为空!" />
<rule element="tag_cn" regex="^.*[^S]+.*$" message="标签不允许为空!" />
<rule element="summary_cn" regex="^.*[^S]+.*$" message="摘要不允许为空!" />
</validationrules>
<layouts>
<layout element="summary" widget="TextareaWidget" />
<layout element="source" widget="ComboWidget" configuration="选择值一" />
</layouts>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema>
/system/modules/com.mysite.example/schemas/content.xsd
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xsd:include schemaLocation="opencms://opencms-xmlcontent.xsd" />
<xsd:element name="ContentTypes" type="OpenCmsContentTypes" />
<xsd:complexType name="OpenCmsContentTypes">
<xsd:sequence>
<xsd:element name="ContentType" type="OpenCmsContentType" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="OpenCmsContentType">
<xsd:sequence>
<xsd:element name="title" type="OpenCmsString" />
<xsd:element name="content" type="OpenCmsHtml" />
</xsd:sequence>
<xsd:attribute name="language" type="OpenCmsLocale" use="optional" />
</xsd:complexType>
<xsd:annotation>
<xsd:appinfo>
<resourcebundle name="com.mysite.example.workplace" />
<layouts>
<layout element="content" widget="org.opencms.widgets.CmsHtmlWidget" configuration="formatselect,link,anchor,source,imagegallery,downloadgallery,linkgallery,htmlgallery,tablegallery,image" />
</layouts>
</xsd:appinfo>
</xsd:annotation>
</xsd:schema>
第三步:修改opencms-modules.xml
<parameters />
<resourcetypes>
<type class="org.opencms.file.types.CmsResourceTypeXmlContent" name="article" id="80001">
<param name="schema">/system/modules/com.mysite.example/schemas/article.xsd</param>
</type>
</resourcetypes>
<explorertypes>
<explorertype name="article" key="fileicon.article" icon="page.gif" reference="xmlcontent">
<newresource page="structurecontent" uri="newresource_xmlcontent.jsp?newresourcetype=article" order="80001" autosetnavigation="false" autosettitle="false" />
<accesscontrol>
<accessentry principal="ROLE.WORKPLACE_USER" permissions="+r+v+w+c" />
</accesscontrol>
</explorertype>
</explorertypes>
- opencms自定义文章类型
- OpenCms自定义结构化类型
- OpenCms开发之——自定义结构化类型
- OpenCms自定义结构化类型的高级设置
- OpenCms自定义结构化类型的高级设置
- OpenCms开发之——自定义结构化类型
- OpenCms自定义结构化类型的高级设置
- OpenCms开发之——自定义结构化类型
- OpenCms自定义结构化类型的高级设置
- OpenCms开发之——自定义结构化类型
- OpenCms自定义结构化类型的高级设置
- OpenCms开发之——自定义结构化类型
- OpenCms自定义结构化类型的高级设置——扩展OpenCmsHtml类型的编辑器
- Opencms 自定义目录索引
- OpenCms 定制自定义视图
- WordPress 自定义文章类型(Post Type)
- OpenCms 中实现文章分类功能
- openCms
- 关于SSH中代码中代码简单重构
- (5.1.2)计算机网络基础之物理层
- Qt
- C语言流程控制
- hdu 1237 简单计算器 逆波兰~~
- opencms自定义文章类型
- eclipse *.vm 文件,语法高亮
- Evil Straw Warts Live (Uva10716 回文串+贪心)
- CoreData基本使用
- Linux下修改Mysql的用户(root)的密码(以及忘记密码)
- NGUI实现分数增涨
- win7系统中主分区改为逻辑分区方法
- OSG
- NSURL