2012-07-09 56 views
0

我希望能够明确指定ContentPart在视图中的呈现位置。在Orchard中显示内容部分

例如,在我的Content.Summary.cshtml中,我想将标题和图库中的第一个图像(我正在使用ZenGallery)包裹在一个定位标记中。我认为我可以像这样做,但画廊模板没有呈现。

<a href="@Url.ItemDisplayUrl((IContent)Model)"> 
    <h2>@Model.ContentItem.TitlePart.Title</h2> 
    @Display(Model.ContentItem.ZenGalleryPart) 
</a> 

但是,如果我这样做,则画廊模板(ZenGallery.Summary.cshtml)与所有其他部分一起显示。

@Display(Model.Content) 

据我所知,推荐的做法可能是使用Placement.info,是吗?但这种方式对我来说更有意义,并允许对结束标记进行更细粒度的控制。我如何实现我正在寻找的标记?

回答

2

这应该给你做正是你想要的一个不错的开始:http://weblogs.asp.net/bleroy/archive/2011/07/31/so-you-don-t-want-to-use-placement-info.aspx

+0

感谢贝特朗,我读了你的文章,但希望能有一个简单的方法。基本上,我必须包括你的'ShapeHelper',然后使用'@Display(ShapeHelper.Find(Model,“Parts_ZenGallery_Summary”))'? – Luke 2012-07-11 15:58:09

+1

谢谢,采取了一些调整,但现在使用'@Display(Util.ShapeHelper.Find((Orchard.DisplayManagement.Shapes.Shape)Model,“Parts_ZenGallery”))' – Luke 2012-07-12 17:49:42

+1

有没有一种新的方式在果园做到这一点?我遇到了这个,但无法在任何地方找到粘土,我猜测那里三年后最有可能是一种更新的方式。 – user1723409 2015-06-18 19:05:45

相关问题