Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sitecore FieldRenderer-从不同的模板部分获取特定的字段名_Sitecore_Sitecore6 - Fatal编程技术网

Sitecore FieldRenderer-从不同的模板部分获取特定的字段名

Sitecore FieldRenderer-从不同的模板部分获取特定的字段名,sitecore,sitecore6,Sitecore,Sitecore6,有没有办法从包含多个节的模板中获取特定字段名到FieldRenderer控件 F.ex。我有一个包含“Data”和“Data2”部分的模板,它们都有一个名为“text”的文本字段。有没有办法让我的FieldRenderer获得“数据2”部分中的字段“文本” 如果以下建议之一奏效,那就太好了: BR Larre尽管它是特意开发的(我们不希望Sitecore开发人员在节名上浪费时间),但我认为包含这样的内容是有意义的。 让我将此列为功能请求 如果您想让它正常工作,首先应该了解fieldRende

有没有办法从包含多个节的模板中获取特定字段名到FieldRenderer控件

F.ex。我有一个包含“Data”和“Data2”部分的模板,它们都有一个名为“text”的文本字段。有没有办法让我的FieldRenderer获得“数据2”部分中的字段“文本”

如果以下建议之一奏效,那就太好了:



BR Larre

尽管它是特意开发的(我们不希望Sitecore开发人员在节名上浪费时间),但我认为包含这样的内容是有意义的。 让我将此列为功能请求

如果您想让它正常工作,首先应该了解fieldRenderer是如何工作的。它启动了一个名为“renderField”的管道。 在第二步中,它读取字段值:

用您自己的自定义类替换该类,如下所示:

公共作废流程(RenderFieldArgs)
{
Assert.ArgumentNotNull(args,args);
if(args.RawParameters.Contains(“节”))
{
//解析args.RawParameters
//提取截面数据
//获取args.Item.Template
//解析部分
//解析字段值
//将此字段值设置为args.Results.FirstPart
}
如果(!string.IsNullOrEmpty(args.FieldValue))
{
args.Result.FirstPart=args.FieldValue;
}
其他的
{
args.Result.FirstPart=args.Item[args.FieldName];
}
}
类似于:

args.Result.FirstPart=args.Item[args.Item.Template.GetSection(“sectionName”).GetField(args.FieldName).ID];

但是现在有了错误检查:)

根据官方Sitecore文档,字段名在各个部分中必须是唯一的


在我们的项目中也讨论了这一点,我们已经在重载sitecore用户控件,因此添加此代码将是一件轻而易举的事。谢谢你,亚历克斯。