私はオーチャード1.10で作業しています。目標は、それに基づいてニュースサイトをデザインすることです。私は解決されていない問題があります。 これは、最新のニュースリストと、現在私が詳細に表示しているニュースを生成する方法です。私はニュースを選択するときに、現在のニュースのIDよりもIDが低い他のニュースを表示する必要があります。現在のニュースに基づいて最近のニュースリストを作成する方法
いずれもおすすめです。ありがとうございました。
私はオーチャード1.10で作業しています。目標は、それに基づいてニュースサイトをデザインすることです。私は解決されていない問題があります。 これは、最新のニュースリストと、現在私が詳細に表示しているニュースを生成する方法です。私はニュースを選択するときに、現在のニュースのIDよりもIDが低い他のニュースを表示する必要があります。現在のニュースに基づいて最近のニュースリストを作成する方法
いずれもおすすめです。ありがとうございました。
カスタムパーツを作成してニュースコンテンツタイプにアタッチすることができます。このような何か:
public class RecentNewsPart : ContentPart {
}
public class RecentNewsPartDriver : ContentPartDriver<RecentNewsPart> {
private readonly IContentManager _contentManager;
public RecentNewsPartDriver(IContentManager contentManager) {
_contentManager = contentManager;
}
protected override DriverResult Display(RecentNewsPart part, string displayType, dynamic shapeHelper) {
return ContentShape("Parts_RecentNewsPart",() => {
// or however the date is stored on your news,
// maybe just the CommonPart CreatedUtc
var currentNewsPart = part.As<NewsPart>();
var currentNewsDate = currentNewsPart.Date;
var recentNews = _contentManager
.Query<NewsPart, NewsPartRecord>("News")
.Where(c => c.Date < currentNewsDate)
.OrderByDescending(c => c.Date)
.Slice(0, 10)
.ToList();
return shapeHelper.Parts_RecentNewsPart(Items: recentNews);
});
}
Placement.info:
<Match ContentType="News">
<Place Parts_RecentNewsPart="/AsideSecond:3" />
</Match>
これは素晴らしいことです。どうもありがとうございました – Sophia
だからあなたは(ウィジェット内)最新のニュースを表示する必要がありますか? RecentBlogPostWidgetとほとんど同じです – devqon
私は同意しますが、現在の投稿を含むすべての投稿を表示します。私はリストが現在の投稿よりも正確に古くなることを望みます。 – Sophia
ウィジェットを持つカスタムモジュールのかなり基本的な実装のように聞こえます – devqon