编程语言
首页 > 编程语言> > c# – Sitecore字段ID与字段名称相对应

c# – Sitecore字段ID与字段名称相对应

作者:互联网

我在“专业Sitecore开发”一书中读到了 – 约翰·韦斯特说,最好的做法是在获取项目字段值时使用字段ID代替字段名称.

但是像sc:text,sc:link,sc:image等的sitecore控件有一个名为field的属性,它使用字段名称.所以,我现在很困惑是将整个项目更改为Field ID,还是将字段名称保留为与sitecore使用一致.

任何建议将不胜感激.

解决方法:

是的,Sitecore允许您使用名称和ID.此外,Sitecore允许您在同一模板中具有相同的字段名称,这可能会导致一些混淆.当然,ID不能重复.

我相信使用ID代替名称更可靠.可以在Sitecore上轻松更改名称,并且在发生这种情况时很难找到错误.在有人注意到字段值不存在之前,您不会收到编译错误或类似错误.

一种好的方法是使用代码生成器(如T4或TDS)来创建要在代码中使用的强类型类.就像是:

public static struct MyTemplate
{
    public static struct MyGroup1
    {
        public static readonly ID Foo = new ID("{1111111-1111-1231-1231-12312323132}");
    }
    public static struct MyGroup2
    {
        public static readonly ID Foo = new ID("{9999999-9999-xxxx-1231-12312323132}");
    }
}

然后你按照控制方式进行操作:

@Html.Sitecore().Field(MyTemplate.MyGroup.Foo); //where foo returns the id.

希望有所帮助..

标签:c,sitecore,sitecore6,sitecore-dms
来源: https://codeday.me/bug/20190717/1491196.html