Как да разрешим дублирани имена на полета на Sitecore Glass Mapper

Имам шаблон със секции по-долу:

Section A
   Title
   Name
Section B
   Title 
   Name

Изглежда добре на Sitecore. Въпреки това, когато картографът на TDS Glass генерира кода, той генерира заглавие и име два пъти.

Чудя се дали е възможно да добавите името на раздела преди всяко поле, когато glass mapper генерира кода.

Ако ме питате защо, това е, за да избегна грешка с дължина от 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 ще ви позволи да направите това и ще можете да идентифицирате полетата отделно чрез ID на полето - повечето кодове използват имена на полета или генериран код, за да направят това. Когато препращате към полетата по име, няма да успее.

Имате 2 възможности.

Вариант 1 По-добра практика е или да поставите префикс към имената, или да излезете с уникална конвенция за именуване, както направихте във вашия пример

Вариант 2

Като алтернатива можете да модифицирате шаблона T4, за да поставите префикс имената на полетата, когато генерирате кода, с името на раздела. Това ще позволи на кода да се компилира. Но в зависимост от начина, по който полетата се картографират от Glass (обикновено това е по име на поле, не ID) - това пак ще причини проблеми, тъй като Sitecore няма да знае кое поле към използване.

Аз бих избрал Вариант 1

person Richard Seal    schedule 18.11.2015