2015-10-05 56 views
1

我正在将数以千计的XML Feed中的产品导入Sitecore。因此,我为产品创建了一个模板,其中包含大约20个字段,如Identification,Name,Price等。 而且,在XML,一个产品可以有一些自定义属性,看起来像这样:我应该如何在Sitecore中存储项目的一些自定义属性?

<custom-attribute name="AC_Information_1_Name" dt:dt="string" xml:lang="nl-NL">PDF</custom-attribute> 

起初,我创建了将持有这些领域和存储Sitecore的项目对于这些新模板自定义属性“,并将它们链接到”产品“。但是这导致导入非常慢,因为包含自定义属性项目的文件夹有超过10万个,每次必须保存另一个,它会查看所有现有项目以检查它是否不重复。 所以我想我需要改变我如何保存这些东西的整个结构。 另一个想法是以某种方式将它们直接保存在产品中,但名称值列表不够用,因为还有需要保存的DataTypeLanguage

你知道任何可以容纳所有值的数据类型吗?或者也许还有其他一些想法

+0

看看这篇文章,它似乎和你一样。 http://stackoverflow.com/questions/28728127/where-could-i-store-custom-field-attributes-for-a-field-in-sitecore/28740870 –

+0

你为什么要为自定义属性做回购?是否需要您可以比较或强制执行产品之间的关系? – RvanDalen

+0

@RvanDalen我不想重复 –

回答

0

几点建议:

  1. 增加做你查找对指数的表现。
  2. 查看为您的自定义属性使用存储桶,该存储桶会自动为您的项目创建隐藏树结构以优化Sitecore性能。
  3. 考虑将其作为自定义字段类型(可能将XML存储为原始值)存储在产品上,就像演示文稿细节的工作方式一样。您可以在此基础上构建一个UI,以显示您想要的数据。这将意味着重复的数据,但是,导入会很高效。
0

建议:

1 - 创建与(名称,价值,语言,类型)自定义属性模板,并添加为产品子项XML的自定义属性。您不需要执行查找,因为属性只应用于产品,并且将它们放在通用文件夹位置中不会增加任何值。所以你的树可能看起来像

产品1>属性1 |属性2 | .... |属性n
产品2>属性1 | ...
...
产品等级

2 - 创建的XML的属性自定义字段类型,以便您的字段应该有4个输入框的一个领域。例如,你的产品模板看起来就像

鉴定
[输入框]

价格
[输入框]

自定义属性
名称|值|类型| Lang
[输入框] | [输入框] | [输入框] | [输入框]

此方法需要更多时间,您可以查看sdn文档以创建自定义字段类型。

谢谢
已过帐。

相关问题