在Projection中使用备用形状模板

时间:2014-04-02 14:42:10

标签: orchardcms

我有一个简单的内容类型,比方说BlogPost。我想要一个小部件“最近的博客帖子”。我知道它存在于Blog Posts的开箱即用小部件中。但我们在这里想象一个通用的内容类型代替Blog Post。我想将其创建为Projection Widget。

我做了一个查询,创建了投影小部件,将其命名为“最新博客帖子”,它运行正常。 现在我想指定该投影列表中每个博客帖子在显示时应使用的确切模板。

目前,在这种情况下,我可以选择形状替代: enter image description here

所以,在左侧窗格中: Widget是我创建的Projection Widget。它使用带有网格布局的Blog Post内容类型的查询。左窗格中的每个“内容”项目代表投影所显示的博客帖子之一。

现在,例如,我希望每个博客文章都以简短的形式显示。我不想覆盖BlogPost.Summary形状模板,因为我可能需要在网站上的其他地方使用该形状。

在右侧窗格中,我在投影小部件中拥有单个Blog Post形状的所有可用替代项。

理想情况下,我希望有一个名为的替代形状模板: “〜/主题/引导/查看/内容BlogPost.Summary.LatestBlogPosts.cshtml”

之后我会去: “〜/主题/引导/查看/内容BlogPost.Summary.ProjectionWidget.cshtml”

或者任何类似的东西,以便有一个特殊的形状模板,用于在投影小部件中显示博客文章。

我的替代方法是使用Placement.info文件。我想隐藏BlogPost的某些部分:

<Match ContentType="ProjectionWidget">
    <Place ShapeParts_Common_Metadata_Summary="-" />
    <Place Parts_Tags_ShowTags="-" />
    <Place Parts_Common_Body_Summary="-" />
</Match>

此段无效。我还没能使它工作。

所以,我希望我能清楚地解决问题。我希望能够在投影窗口小部件中显示博客帖子的确切外观。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

更容易更改显示类型。