Orchard CMS小部件显示类型

时间:2013-02-06 12:21:35

标签: asp.net-mvc-3 orchardcms

我有一个小部件,它使用查询来显示详细信息。是否可以指定窗口小部件的显示类型(查询使用摘要,所有显示为我想要的),因为窗口小部件的标题具有显示类型细节,我希望它使用摘要,所以我可以覆盖形状当我把它放在不同的部分(主要是标题文本),但在内容区域,我希望它是细节。我正在使用bootstrap主题。所以基本上如果我把我的小部件粘贴到除了我想要使用摘要的内容以外的任何地方

希望这是有道理的。

由于

1 个答案:

答案 0 :(得分:3)

啊,我们又见面了。

构建小部件并将其注入到名为Orchard.Widgets.Filters.WidgetFilter的类中的布局中。似乎没有任何方法可以修改用于窗口小部件的显示类型(默认WidgetFilter使用默认值“详细信息”)。

要解决此问题,您可以使用自己的WidgetFilter实现。将现有代码复制到您自己的类中,并向您的类添加[OrchardSuppressDependency("Orchard.Widgets.Filters.WidgetFilter")]属性。这将确保不使用现有的WidgetFilter,而您的使用者是。{/ p>

如果您通读OnResultExecuting方法,则会在接近结束时看到呼叫BuildDisplay。此方法的第二个参数可以是显示类型。您可以检查widgetPart.Record.Zone以查看窗口小部件的放置位置,并相应地为displayType参数传递不同的值。

我不确定这是否是最优雅的方式,但它是我开始的地方。也许其他人可能有一个更整洁的解决方案。