显示带有 post 的附加图像 我如何让它显示
Displaying attached image with post how to i get it to display
<div>
<div class="col-md-4">
<h3 class="textStrong">Latest Tweets</h3>
<a class="twitter-timeline" href="https://twitter.com/RFUK">Tweets by RFUK </a></div>
</div>
<div class="col-md-4"></div>
<div class="col-md-4">
<h2>News Feeds</h2>
@{
var news = new List<Piranha.Entities.Post>();
using (var db = new Piranha.DataContext()) {
news = db.Posts
.Include(p => p.CreatedBy)
.Where(p => p.Template.Name == "News Post Types")
.OrderByDescending(p => p.Published)
.Take(4).ToList();
}
}
@foreach (var post in news) {
<div class="post">
<h2><a href="@UI.Permalink(post.PermalinkId)">@post.Title</a></h2>
<p class="meta">Published @post.Published.Value.ToString("yyyy-MM-dd") by @post.CreatedBy.Firstname</p>
<p>@post.Excerpt</p>
<img src="@post.Attachments">
</div>
我和 post 一起工作。我有这段代码可以使用...。效果非常好,我可能会添加...但是我希望使用 post 显示附加图像。我该怎么做?
<img src="@post.Attachments">
似乎没有任何建议
关于如何对我需要做的事情进行排序?
就像@andreasnico 指出的那样Attachments
是引用媒体资产 ID 的集合。如果您想显示第一个附件(假设您知道它是一张图片),您可能会这样做。
@foreach (var post in news) {
<div class="post">
<h2><a href="@UI.Permalink(post.PermalinkId)">@post.Title</a></h2>
<p class="meta">Published @post.Published.Value.ToString("yyyy-MM-dd") by @post.CreatedBy.Firstname</p>
<p>@post.Excerpt</p>
@if (post.Attachments.Count > 0) {
<img src="@UI.Content(post.Attachments[0])">
}
</div>
}
这将获取第一个附件的内容 URL 并将其用作图像的来源。请注意,您还可以缩放和裁剪图像以用于这样的列表:
<img src="@UI.Content(post.Attachments[0], 300, 100)">
这会将图像缩放并裁剪为 300 像素宽和 100 像素高。您可以在这里阅读更多相关信息:http://piranhacms.org/docs/api-reference/ui-helper
此外,如果显示 post 列表的页面由 CMS 控制并且具有页面类型,我建议您考虑添加 PostRegion
或 PostModelRegion
页。这些区域会自动将 post 的集合加载到页面模型中,您可以指定数量、排序顺序和其他一些内容。这将简化您重复使用页面类型,但例如更改 post 的类型以显示不同的页面实例。
此致
哈坎
<div>
<div class="col-md-4">
<h3 class="textStrong">Latest Tweets</h3>
<a class="twitter-timeline" href="https://twitter.com/RFUK">Tweets by RFUK </a></div>
</div>
<div class="col-md-4"></div>
<div class="col-md-4">
<h2>News Feeds</h2>
@{
var news = new List<Piranha.Entities.Post>();
using (var db = new Piranha.DataContext()) {
news = db.Posts
.Include(p => p.CreatedBy)
.Where(p => p.Template.Name == "News Post Types")
.OrderByDescending(p => p.Published)
.Take(4).ToList();
}
}
@foreach (var post in news) {
<div class="post">
<h2><a href="@UI.Permalink(post.PermalinkId)">@post.Title</a></h2>
<p class="meta">Published @post.Published.Value.ToString("yyyy-MM-dd") by @post.CreatedBy.Firstname</p>
<p>@post.Excerpt</p>
<img src="@post.Attachments">
</div>
我和 post 一起工作。我有这段代码可以使用...。效果非常好,我可能会添加...但是我希望使用 post 显示附加图像。我该怎么做?
<img src="@post.Attachments">
似乎没有任何建议 关于如何对我需要做的事情进行排序?
就像@andreasnico 指出的那样Attachments
是引用媒体资产 ID 的集合。如果您想显示第一个附件(假设您知道它是一张图片),您可能会这样做。
@foreach (var post in news) {
<div class="post">
<h2><a href="@UI.Permalink(post.PermalinkId)">@post.Title</a></h2>
<p class="meta">Published @post.Published.Value.ToString("yyyy-MM-dd") by @post.CreatedBy.Firstname</p>
<p>@post.Excerpt</p>
@if (post.Attachments.Count > 0) {
<img src="@UI.Content(post.Attachments[0])">
}
</div>
}
这将获取第一个附件的内容 URL 并将其用作图像的来源。请注意,您还可以缩放和裁剪图像以用于这样的列表:
<img src="@UI.Content(post.Attachments[0], 300, 100)">
这会将图像缩放并裁剪为 300 像素宽和 100 像素高。您可以在这里阅读更多相关信息:http://piranhacms.org/docs/api-reference/ui-helper
此外,如果显示 post 列表的页面由 CMS 控制并且具有页面类型,我建议您考虑添加 PostRegion
或 PostModelRegion
页。这些区域会自动将 post 的集合加载到页面模型中,您可以指定数量、排序顺序和其他一些内容。这将简化您重复使用页面类型,但例如更改 post 的类型以显示不同的页面实例。
此致
哈坎