问题显示在果园中自定义内容部分的摘要视图

时间:2013-08-31 13:04:33

标签: orchardcms orchardcms-1.7

我看过以下与我相似的帖子。 Issue displaying the summary view of a custom content part in Orchard CMS using Placement.info

但是当我将我的代码与解决方案进行比较时,我找不到任何不同的东西。

这就是我想要实现的目标:

我有两个自定义内容部件构建了QuestionRecord和ExpertRecord。这两部分之间的关​​系是专家对网站用户发布的问题的回答。

我有一个全局搜索模块,它应该显示问题和专家答案的组合摘要结果。但是专家部分在某种程度上没有拿起摘要视图,它始终显示详细信息视图。

Placement.info:

 <Match ContentType="ExpertRecord">
     <Match DisplayType="Detail">
       ... ...
     </Match>
     <Match DisplayType="Summary">
       <Place Parts_Expert_Summary="Content:2" />
       <Place Parts_Expert="-" />
     </Match>
 </Match>
ExpertDriver中的

驱动程序结果方法:

 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>

我希望从DriverResult方法调用此View,但它调用详细视图Experts.cshtml。两个视图都放在Parts文件夹中。

我必须遗漏一些东西,但无法弄清楚到底是什么。

我仍然是Orchard的新手,所以任何建议都对我有很大的帮助。

此致

1 个答案:

答案 0 :(得分:1)

让您的驱动程序返回带有常规形状和摘要形状的组合形状,然后让放置对其进行排序。整个代码中有很多例子,如果你搜索“.Combined”,应该很容易找到。