Как решить дублирующиеся имена полей Sitecore Glass Mapper

У меня есть шаблон с разделами ниже:

Section A
   Title
   Name
Section B
   Title 
   Name

Хорошо выглядит на Sitecore. Однако, когда сопоставитель TDS Glass генерирует код, он дважды генерирует заголовок и имя.

Интересно, можно ли добавить имя раздела перед каждым полем, когда стеклянный картограф генерирует код.

Если вы спросите меня, почему, это для того, чтобы избежать ошибки длины 248 символов для файловой системы Windows для элементов TDS, поскольку я сделал это как обходной путь.

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

Любая помощь будет потрясающей.

Спасибо.


person Nil Pun    schedule 18.11.2015    source источник


Ответы (1)


Как правило, не рекомендуется задавать поля с одним и тем же именем несколько раз в одном и том же шаблоне. Хотя Sitecore позволит вам это сделать и сможет идентифицировать поля отдельно по идентификатору поля — в большинстве кодов для этого используются имена полей или сгенерированный код. При обращении к полям по имени произойдет сбой.

У вас есть 2 варианта.

Вариант 1. Лучше либо ставить перед именами префикс, либо придумать уникальное соглашение об именах, как вы сделали в своем примере.

Вариант 2

В качестве альтернативы вы можете изменить шаблон T4, добавив префикс имени поля при создании кода к имени раздела. Это позволит компилировать код. Но в зависимости от того, как поля сопоставляются Glass (обычно это имя поля, а не идентификатор), это все равно будет вызывать проблемы, поскольку Sitecore не будет знать, какое поле нужно использовать.

Я бы выбрал вариант 1

person Richard Seal    schedule 18.11.2015