hybris - SAP CX - HYBRIS:将输入配置为仅显示小时 - 默认时间
问题描述
我在后台的 a 部分添加了一个新属性。我添加了一个日期时间属性
<editorArea:attribute qualifier="DateCutOffTime" defaultEditor="com.hybris.cockpitng.editor.defaulttime">
<editorArea:editor-parameter>
<editorArea:name>timeFormat</editorArea:name>
<editorArea:value>short</editorArea:value>
</editorArea:editor-parameter>
<editorArea:editor-parameter>
<editorArea:name>timeZoneReadOnly</editorArea:name>
<editorArea:value>false</editorArea:value>
</editorArea:editor-parameter>
<editorArea:editor-parameter>
<editorArea:name>selectedTimeZone</editorArea:name>
<editorArea:value>GMT+01:00</editorArea:value>
</editorArea:editor-parameter>
<editorArea:editor-parameter>
<editorArea:name>displayedTimeZones</editorArea:name>
<editorArea:value>GMT-12:00,GMT-11:00,GMT-10:00,GMT-09:30,GMT-09:00,GMT-08:00,GMT-07:00,GMT-06:00,GMT-05:00,GMT-04:30,GMT-04:00,GMT-03:30,GMT-03:00,GMT-02:00,GMT-01:00,GMT+00:00,GMT+01:00,GMT+02:00,GMT+03:00,GMT+03:30,GMT+04:00,GMT+04:30,GMT+05:00,GMT+05:30,GMT+05:45,GMT+06:00,GMT+06:30,GMT+07:00,GMT+08:00,GMT+08:30,GMT+08:45,GMT+09:00,GMT+09:30,GMT+10:00,GMT+10:30,GMT+11:00,GMT+12:00,GMT+12:45,GMT+13:00,GMT+14:00</editorArea:value>
</editorArea:editor-parameter>
</editorArea:attribute>
但我有一个带日历的显示器
我想显示一个组件,只显示选择时间和时区或只显示小时。
解决方案
您似乎混合了 2 种不同类型的配置
这一行是错误的:
<editorArea:attribute qualifier="DateCutOffTime" defaultEditor="com.hybris.cockpitng.editor.defaulttime">
您想对特定属性(限定符)使用编辑器。为此,您需要使用editor
而不是编写标题defaultEditor
。如果您查看对应的 xsd 验证,您会注意到 defaultEditor 不是有效的配置选项。将其更改为editor
,它应该可以工作。(假设 DateCutoffTime 是您的一个对象的属性而不是类型,如果它是类型,请查看答案的第二部分)
<editorArea:attribute qualifier="DateCutOffTime" editor="com.hybris.cockpitng.editor.defaulttime">
对应的xsd:
<xs:complexType name="attribute">
<xs:complexContent>
<xs:extension base="abstractPositioned">
<xs:sequence>
<xs:element name="editor-parameter" type="parameter" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="qualifier" type="xs:string" use="required"/>
<xs:attribute name="label" type="xs:string" use="optional"/>
<xs:attribute name="visible" type="xs:boolean" use="optional" default="true"/>
<xs:attribute name="readonly" type="xs:boolean" use="optional" default="false"/>
<xs:attribute name="editor" type="xs:string" use="optional"/>
<xs:attribute name="merge-mode" type="xs:string" use="optional"/>
<xs:attribute name="description" type="xs:string" use="optional"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
(完成)
据我所知, defaultEditor 仅用于为type定义默认编辑器。然后您需要指定要为其创建默认编辑器的类型。这也需要放在 .zul 文件中,而不是常规的后台配置文件中。
<editor id="textEditor" type="java.lang.String" defaultEditor="com.hybris.cockpitng.editor.defaulttext"/>
推荐阅读
- flutter - 如何从用户输入中计算文本字符串中的单词数
- javascript - 我的 JavaScript 附加函数有什么问题?
- php - 哪些用户态字符串会被 PHP 自动执行?
- c++ - MakeFile 添加库
- python - 如何根据另一列访问熊猫列中的值?
- python - 如何使用用户输入在 pymongo 中查找和更新
- python-3.x - 查询前的Python3 psycopg2测试时间戳值
- javascript - JavaScript keyup 事件错误
- android - 当我们使用 Koin 依赖注入时,将密码设置为用户的房间加密
- python - Pandas Dataframes,计算行到行增量而不循环