使用Glass.Mapper版本3.0.13.25。 使用TDS 5.0.0.23代码生成(glassv3header.tt和glassv3item.tt)。
我有一个新项目,我想添加到Sitecore。我正在填充通过TDS“代码生成...”
创建的Product对象Product createdProduct = service.Create(DestinationFolder, newProduct);
当我尝试运行我的代码时,我收到以下错误...
当数据不是raw时,无法从富文本字段保存数据。将SitecoreFieldAttribute设置属性设置为SitecoreFieldSettings.RichTextRaw,以获取类型为Mizuno.Data.Domain.Product
的属性Full_Description
查看Glass Mapper代码,看起来我必须设置一些config.Setting到SitecoreFieldSettings.RichTextRaw,但我不确定使用TDS生成的代码在什么地方/在哪里/如何执行此操作... < / p>
对此有任何见解都会有所帮助。
-Sarkis -
答案 0 :(得分:1)
除非您更改标准TT模板,然后在TDS中使用自定义数据,否则我认为这不可能使用TDS。这可能需要做很多工作。
您可能更好地对原始模型进行子类化,然后添加不同的属性,我没有对此进行测试,但它应该可以工作:
public class ProductWrite : Mizuno.Data.Domain.Product {
[SitecoreField(Settings = SitecoreFieldSettings.RichTextRaw)]
public override string Full_Description { get; set; }
}
让我知道这是否有效。
答案 1 :(得分:1)
嘿,这有点晚了,但我找到了解决方案。首先,您必须禁用该项目的代码生成。右键单击TDS项目,然后单击属性。在“无”中设置了一个名为“代码生成模板”的字段,在您的类中将其作为属性:
[SitecoreField("FieldName", Setting = SitecoreFieldSettings.RichTextRaw)]
public virtual string FieldName { get; set; }
希望有所帮助