Glass Mapper, Генерация кода TDS и поле Rich Text в Sitecore
Использование Glass.Mapper версии 3.0.13.25. Использование TDS 5.0.0.23 Генерация кода (glassv3header.tt и glassv3item.tt).
У меня есть новый предмет, который я пытаюсь добавить в Sitecore. Я заполняю объект Product, созданный с помощью TDS'Generation Code...
Product createdProduct = service.Create(DestinationFolder, newProduct);
Я получаю следующую ошибку при попытке запустить мой код...
Невозможно сохранить данные из расширенного текстового поля, если они не являются необработанными. Установите свойство параметра SitecoreFieldAttribute в SitecoreFieldSettings.RichTextRaw для свойства Full_Description для типа Mizuno.Data.Domain.Product.
Глядя на код Glass Mapper, похоже, что мне нужно установить какой-то config.Setting для SitecoreFieldSettings.RichTextRaw, но я не уверен, что / где / как я делаю это, используя код, сгенерированный TDS...
Любое понимание этого было бы полезно.
-Sarkis-
2 ответа
Я не думаю, что это возможно с TDS, если вы не измените стандартный шаблон TT, а затем используете пользовательские данные в TDS. Это может быть много работы.
Возможно, вам лучше подклассифицировать исходную модель, а затем добавить другой атрибут, я не проверял это, но он должен работать:
public class ProductWrite : Mizuno.Data.Domain.Product {
[SitecoreField(Settings = SitecoreFieldSettings.RichTextRaw)]
public override string Full_Description { get; set; }
}
Дайте мне знать, если это работает.
Эй, уже немного поздно, но я нашел решение для этого. Итак, сначала вы должны отключить генерацию кода для этого элемента. Перейдите в проект TDS правой кнопкой мыши, затем Свойства. Есть поле под названием "Шаблон генерации кода", которое установлено в None, а в вашем классе это свойство должно быть:
[SitecoreField("FieldName", Setting = SitecoreFieldSettings.RichTextRaw)]
public virtual string FieldName { get; set; }
Надеюсь, поможет