我必须为自定义CMSComponent实现编辑功能,一切正常,除了一件事-它包含maptype属性(Map
<maptypes>
<maptype code="CarouselConfigsMap"
argumenttype="java.lang.String"
returntype="CarouselDisplayingConfig"
autocreate="true"
generate="true"/>
</maptypes>
<itemtype code="CarouselDisplayingConfig" autocreate="true" generate="true" extends="SimpleCMSComponent"> jaloclass="cms.components.CarouselDisplayingConfig"
<deployment table="carouseldisplayingconfig" typecode="16021"/>
<attributes>
--HERE LIST OF ATTRIBUTES--
</attributes>
</itemtype>
<itemtype code="TopCategoriesComponent" extends="SimpleCMSComponent" autocreate="true" generate="true" jaloclass="cms.components.TopCategoriesComponent">
<deployment table="topcategoriescomponent" typecode="16049" />
<attributes>
<attribute qualifier="heading" type="localized:java.lang.String">
<modifiers read="true" write="true" optional="true"/>
<persistence type="property"/>
</attribute>
<attribute qualifier="displayingConfigs" type="CarouselConfigsMap">
<modifiers read="true" write="true" optional="true"/>
<persistence type="property"/>
</attribute>
-- ANOTHER ATTRIBUTES IS OMITTED FOR THE SAKE OF SIMPLICITY --
</attributes>
</itemtype>
我已在Defaultstrong.cmscockpit-editors.xml
中为DefaultPropertyEditorDescriptor的编辑器地图添加了DefaultMapEditorRenderer,该编辑器类型为REFERENCE。<?xml version="1.0" encoding="UTF-8"?>
<content-editor hideEmpty="true" hideReadOnly="true" groupCollections="true">
<template>
<![CDATA[
<table style="width: 100%; margin: 0px; padding: 0px;">
<tbody>
<tr><td><div style="height:6px"/></td></tr>
<tr><td style="text-align:left"><cockpit code="property" value="TopBrandsComponent.displayingConfigurations"/></td></tr>
</tbody>
</table>
]]>
</template>
<custom-editors>
<property qualifier="TopBrandsComponent.displayingConfigurations" editorCode="mapEditor"/>
</custom-editors>
</content-editor>
当我尝试在WCMSCockpit中编辑此组件时,出现错误:
[Thread-62] [DefaultPropertyEditorDescriptor]无法为类型REFERENCE和模式“ mapEditor”创建编辑器组件。
有人知道如何在WCMSCockpit中处理Maptype的编辑过程吗?
混合版本:5.7
非常感谢您的任何建议。