如何解决Sitecore Glass Mapper重复的字段名称

时间:2015-11-18 02:09:38

标签: sitecore sitecore8 glass-mapper tds

我有一个模板,其中包含以下部分:

Section A
   Title
   Name
Section B
   Title 
   Name

Sitecore看起来不错。但是,当TDS Glass映射器生成代码时,它会生成标题和名称两次。

想知道在玻璃映射器生成代码时是否可以在每个字段之前添加节名称。

如果你问我原因,那就是为了避免TDS项目的Windows文件系统出现248个字符长度错误,因为我已经这样做了。

Section A
       Section A Title
       Section A Name
Section B
       Section B Title 
       Section B Name

任何帮助都会很棒。

感谢。

1 个答案:

答案 0 :(得分:2)

在同一模板中多次定义具有相同名称的字段通常不是一种好习惯。虽然Sitecore允许您这样做,并且能够通过字段ID分别识别字段 - 大多数代码使用字段名称或生成的代码来执行此操作。按名称引用字段时,它将失败。

您有2个选项。

选项1 最好的做法是在名称前加上或者提出一个独特的命名约定,就像你在你的例子中所做的那样

选项2

作为替代方案,您可以修改T4模板,在生成代码时使用节名称为字段名称添加前缀。这将允许代码编译。但是取决于Glass如何映射字段(通常这是按字段名称,不是 ID) - 它仍然会导致问题,因为Sitecore不会知道哪个字段到使用

我会选择选项1