关于sitecore8:如何解决Sitecore Glass Mapper 重复字段名称

How to solve Sitecore Glass Mapper duplicate field names

我有一个包含以下部分的模板:

1
2
3
4
5
6
Section A
   Title
   Name
Section B
   Title
   Name

在 Sitecore 上看起来不错。但是,当 TDS Glass 映射器生成代码时,它会生成两次 Title 和 name。

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

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

1
2
3
4
5
6
Section A
       Section A Title
       Section A Name
Section B
       Section B Title
       Section B Name

任何帮助都会很棒。

谢谢。


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

你有两个选择。

选项 1
更好的做法是为名称添加前缀或提出唯一的命名约定,就像您在示例中所做的那样

选项2

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

我会选择选项 1