Orchardcms 显示orchard中自定义内容部件的摘要视图的问题
我看到了下面的帖子,看起来和我的很相似。 但当我将代码与解决方案进行比较时,我没有发现任何不同之处 这就是我想要实现的目标: 我有两个自定义内容部分,分别是QuestionRecord和ExpertRecord。这两部分之间的关系是专家回答网站用户提出的问题 我有一个全局搜索模块,它应该显示问题和专家答案的组合摘要结果。但是专家部分不知何故没有选择摘要视图,它总是显示细节视图 Placement.info:Orchardcms 显示orchard中自定义内容部件的摘要视图的问题,orchardcms,orchardcms-1.7,Orchardcms,Orchardcms 1.7,我看到了下面的帖子,看起来和我的很相似。 但当我将代码与解决方案进行比较时,我没有发现任何不同之处 这就是我想要实现的目标: 我有两个自定义内容部分,分别是QuestionRecord和ExpertRecord。这两部分之间的关系是专家回答网站用户提出的问题 我有一个全局搜索模块,它应该显示问题和专家答案的组合摘要结果。但是专家部分不知何故没有选择摘要视图,它总是显示细节视图 Placement.info: ... ... ExpertDriver中的驱动程序结果方法: protected
... ...
ExpertDriver中的驱动程序结果方法:
protected override DriverResult显示(专家部件、字符串显示类型、动态形状帮助)
{
列表问题=新列表();
字符串partName=“Parts\u Expert”;
开关(显示类型)
{
案例“细节”:
//仅在显示详细记录时加载问题。
questions=\u questionService.GetQuestionsByExpert(part.ContentItem);
打破
案例“摘要”:
partName+=“\u摘要”;
打破
}
返回ContentShape(partName,
()=>shapeHelper.Parts_Expert(ContentItem:part.ContentItem,问题:问题));
}
意见:
@模型动态
这是我的Expert_Summary.cshtml文件
我希望从DriverResult方法调用此视图,但它正在调用detail View Experts.cshtml。两个视图都放置在零件
文件夹中
我肯定错过了什么,但我想不出到底是什么
我对乌节还是个新手,所以任何建议都会对我有很大帮助
请让您的驱动程序返回一个包含常规形状和摘要形状的组合形状,并让位置对其进行排序。代码中有很多示例,如果您搜索“.Combined”,应该很容易找到这些示例。+1使用组合结果,最终将调用摘要视图!谢谢!
<Match ContentType="ExpertRecord">
<Match DisplayType="Detail">
... ...
</Match>
<Match DisplayType="Summary">
<Place Parts_Expert_Summary="Content:2" />
<Place Parts_Expert="-" />
</Match>
</Match>
protected override DriverResult Display(Expert part, string displayType, dynamic shapeHelper)
{
List<dynamic> questions = new List<dynamic>();
string partName = "Parts_Expert";
switch (displayType)
{
case "Detail":
// only load questions when showing detail record.
questions = _questionService.GetQuestionsByExpert(part.ContentItem);
break;
case "Summary":
partName += "_Summary";
break;
}
return ContentShape(partName,
() => shapeHelper.Parts_Expert(ContentItem: part.ContentItem, Questions: questions));
}
@Model dynamic
<p>This is my Expert_Summary.cshtml file</p>