我试图使用WFFM表单的结果制作一个民意调查结果页面。我最初获取了所有输入的数据(使用AnalyticsFormsDataProvider),查询它,然后显示结果。但是,如果没有人投票给某个特定答案,那么它就不会出现在输入的数据中,因此它不会显示。
我想显示该字段有0票,所以现在我试图比较查询列表的可能答案。但是,我似乎无法找到一种方法来访问列表项的值。有没有人知道这些值存储在哪个类中和/或如何访问它们?
我正在使用WFFM 8.1 rev。 151217(Update-1)与MVC。如果它与其他列表字段有所不同,那么它就是一个无线电列表字段。
谢谢,
答案 0 :(得分:0)
您可以通过标准API将WFFM字段作为常规Sitecore项目。
可用列表项值保存在"参数"和#34;本地化参数"领域。您可以使用Sitecore.Forms.Core中的Sitecore.Form.Core.Utility.ParametersUtil来解析这些字段中保存的值。
答案 1 :(得分:0)
此数据存储在Radio List
字段Item
和Parameters
字段中的Localized Parameters
字段SaveAction
。
如果您的代码位于表单的Validator
或AdaptedResultList
内,则您可以访问SaveAction
this.classAttributes["fieldid"]
或Validator
中的字段} Radio List
。这足以让您获得SaveAction
项目,然后获取参数字段。
如果您的代码不在Validator
/ Datasource
,我建议您可以通过<item><item>
将表单项传递到您的代码中,然后从中检索无线电列表项。
最后,您的Radio List字段的Items以
格式存储var regexItems = new Regex(@"<item>(.*?)</item>".ToLower());
var itemNodes = regexItems.Matches(FieldItem["Parameters"].ToLower());
如果您的广播项目实际上是您想要使用正则表达式解析它们的项目
constuctor(
private _activatedRoute: ActivatedRoute,
) {}
ngOnInit()
this._activatedRoute.params.subscribe(params => console.log(params));
}
然后你应该可以自由地使用你的民意调查清单