访问Sitecore模板字段值

iGa*_*nja 1 sitecore sitecore-mvc

这可能在某处记录,但我找不到它.

我使用Sitecore助手和剃刀语法将值放入我的视图中:

@Html.Sitecore().Field("foo"); 
Run Code Online (Sandbox Code Playgroud)

这工作正常,但是,我在Groups中定义了Fields,其中一些具有相同的名称,如:

第1组:foo

第2组:foo

问题:有没有办法按组访问该字段?像这样的东西(我已经尝试过):

@Html.Sitecore().Field("Group1.foo");
Run Code Online (Sandbox Code Playgroud)

Rob*_*oBr 5

只要我知道不可能使用部分名称.

即使在不同的部分之间,我也会避免使用相同的字段名称.

或者一个选项是传递字段ID,然后创建类或常量以不是硬代码ID

@Html.Sitecore().Field("{E77E229A-2A34-4F03-9A3E-A8636076CBDB}");

or

@Html.Sitecore().Field(MyTemplate.MyGroup.Foo); //where foo returns the id.
Run Code Online (Sandbox Code Playgroud)

编辑:

MyTemplate.MyGroup.Foo将您创建自己的类/结构只是为了使您的项目中的引用更容易,更可靠.(您可以使用工具像T4模板一样自动生成它)

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}");
    }
}
Run Code Online (Sandbox Code Playgroud)