0

SAP 商务 1811

我为我的一种自定义项目类型创建了一个自定义标签提供程序,并将其应用于 component="base" 但它在 Backoffice 中不起作用。

CustomLabelProvider-在 backoffice/src 文件夹中创建

public class CustomLabelProvider implements LabelProvider<CustomABCModel>
{  
    @Override
    public String getLabel(final CustomABCModel model)
    {
        // some custom logic
        return label;
    }

    @Override
    public String getDescription(final CustomABCModel model)
    {
       return getLabel(model);
    }

    @Override
    public String getIconPath(final CustomABCModel model)
    {
       return null;
    }
}

mybackoffice-backoffice-spring.xml

<bean id="customLabelProvider" class="com.hybris.backoffice.labels.impl.CustomLabelProvider"/>

我的后台-后台-config.xml

<context type="CustomABC" component="base" merge-by="type">
    <y:base>
        <y:labels>
            <y:labels beanId="customLabelProvider"/>
        </y:labels>
    </y:base>
</context>

我已经完成了所有步骤,但不知何故它不起作用。标签未显示在后台。

对这里出了什么问题有任何帮助吗?

4

2 回答 2

1

Labels标签不能有下标签labels,这是标签的相关xsd结构Labels

<xs:complexType name="labels">
        <xs:all>
            <xs:element name="label" type="xs:string" minOccurs="0"/>
            <xs:element name="shortLabel" type="xs:string" minOccurs="0"/>
            <xs:element name="description" type="xs:string" minOccurs="0"/>
            <xs:element name="iconPath" type="xs:string" minOccurs="0"/>
        </xs:all>
        <xs:attribute name="beanId" type="xs:string"/>
</xs:complexType>

所以你可能想这样做:

<context type="CustomABC" component="base" merge-by="type">
    <y:base>
        <y:labels beanId="customLabelProvider"/>
    </y:base>
</context>
于 2021-05-23T21:51:59.103 回答
0

标签分组不正确 wrt XSD。

<context type="CustomABC" component="base" merge-by="type" parent="GenericItem">
        <y:base>
            <y:labels beanId="customLabelProvider"/>
        </y:base>
</context>
于 2021-05-24T04:41:06.677 回答