Java 海布里斯-雷德克莱尔关系
我试图在Product2组件之间建立一种关系Java 海布里斯-雷德克莱尔关系,java,hybris,Java,Hybris,我试图在Product2组件之间建立一种关系 <relation code="Product2Components" localized="false" autocreate="true"> <deployment table="ProdsCompRels" typecode="30008" /> <sourceElement qualifier="product" type="Product" cardinality="one" collectio
<relation code="Product2Components" localized="false" autocreate="true">
<deployment table="ProdsCompRels" typecode="30008" />
<sourceElement qualifier="product" type="Product" cardinality="one" collectiontype="list">
<modifiers read="true" write="true" search="true" optional="true" />
</sourceElement>
<targetElement qualifier="components" type="SimpleCMSComponent" cardinality="many">
<modifiers read="true" write="true" search="true" optional="true" />
</targetElement>
</relation>
我怎样才能重新申报关系?或者我应该在这里做什么?因为OOTBProductDetailComponent扩展了SimpleCMComponent并且您想要使用SimpleCMComponent,所以我想您可以简单地使用OOTB关系 但是,如果您真的想取消您自己的属性/关系,那么您必须提供一个不同于“product”的限定符,因为产品限定符已经在OOTB relationship
ProductDetailComponents forProduct
中使用,其中ProductDetailComponent是SimpleCMComponent的子类型
<relation code="Product2Components" localized="false" autocreate="true">
<deployment table="ProdsCompRels" typecode="30008" />
<sourceElement qualifier="productRef" type="Product" cardinality="one" collectiontype="list">
<modifiers read="true" write="true" search="true" optional="true" />
</sourceElement>
<targetElement qualifier="components" type="SimpleCMSComponent" cardinality="many">
<modifiers read="true" write="true" search="true" optional="true" />
</targetElement>
</relation>
这应该不是问题。User2ContactInfos
和User2Carts
关系都有限定符user
@FarrukhChishti在您的情况下,ContactInfos
和Carts
是不同的项目类型,因此它可以工作。但在OP案例中,他试图声明已在sub-itemtype(ProductDetailComponent)关系中声明的同一限定符“product”,因此当您试图在父项类型关系中再次声明它时,您将得到错误duplicates继承属性SimpleCMComponent.product(product)
Attribute CmsLinkComponent.product(Product):((cms2))::YAttributeDescriptor[cms2-items.xml:190(RelationTypeTagListener)][JALO] duplicates inherited attribute SimpleCMSComponent.product(Product):((puigcore))::YAttributeDescriptor[puigcore-items.xml:488(RelationTypeTagListener)][JALO]. Remove it or specify it as redeclared
<relation code="Product2Components" localized="false" autocreate="true">
<deployment table="ProdsCompRels" typecode="30008" />
<sourceElement qualifier="productRef" type="Product" cardinality="one" collectiontype="list">
<modifiers read="true" write="true" search="true" optional="true" />
</sourceElement>
<targetElement qualifier="components" type="SimpleCMSComponent" cardinality="many">
<modifiers read="true" write="true" search="true" optional="true" />
</targetElement>
</relation>