2017-04-24 4 views
1

私はSilverStripe 3.5.3 CMS用にArno Pootのsilverstripe/simple_newsモジュールを使用しています。silverstripeのフロントページに最近のニュースを表示するには

ニュースモジュールは完全に機能し、ニュースは保存され、通常表示されます。私はそれがページに表示される方法に満足していないだけです。

最後の10個のニュース記事でトップページにニュースの要約を掲載したいと思います。しかし、私は行く書類がほとんどありません。最後の10のニュース記事はどうすれば入手できますか?私も順/グループのリンクで全体ニュースのアーカイブをリストニュースホルダーページのサイドバーを作成したいと思います

:など

 
--------------- 
| Year  |  Page Content listing of this month only 
| Month  | 
|  Date | 
| Year  | 
| Month  | 
| Date  | 
-------------- 

...。 (DD-MM-YYYYとしてパブ日)

私は操作が似ているべきだと思いますが、私はSilverStripeをカスタマイズするにやや新しいですから、私はまだ多くの質問があります。

答えて

5

大きな質問です。コンテンツのシンジケーションは、SilverStripe開発、または実際にはどのコンテンツ管理システムでも、本当に基本的なパターンです。 SilverStripeの指針は、何らかのコードを書いて、あなたが望むものの80%をすぐに使えるソリューションにするよりも、まさにあなたが望むものを作成できるようにすることです。

これについてはすでにたくさん書かれています。 https://docs.silverstripe.org/en/3/tutorials/extending_a_basic_site/#showing-the-latest-news-on-the-homepageを参照してください。あなたがしたいと思う何

は、自分のホーム・ページ・テンプレートに記事のリストを返すホームページコントローラのメソッドを作成することです。そして、テンプレート上

public function RecentNews() 
{ 
    return NewsArticle::get()->limit(5); // sort is already handled by default_sort 
} 

:年によってそれらをグループ化について

<% loop $RecentNews %> 
$Title/$Date/etc.. 
<% end_loop %> 

あなたの2番目の質問は少しトリッキーです。私はこれについてのチュートリアルをやり直しました。例えば、言うあなたが使用しているモジュールを反映するために、これらのクラス名とフィールド名のすべてを更新するhttps://www.silverstripe.org/learn/lessons/beyond-the-orm-building-custom-sql?ref=hub

言うまでもなくをチェック記事ページ - >ニュースページ。

+0

GroupedListでグループ化するのは非常に簡単です(https://docs.silverstripe.org/en/3.0/howto/grouping-dataobjectsets/ – bummzack

+0

)。また、DataListを直接<%loop List( 'NewsArticle')。Limit(5)%> 'を使ってテンプレートを作成しましたが、ちょっとハッキリです。 – wmk

+0

UncleCheese私は興味のあるあなたのビデオチュートリアルを見てきました。コメントしてくださってありがとうございます。 ドキュメントの記事はほとんどありますが、以前のバージョンのSS CMSに基づいています。他のビデオチュートリアルでできることをあなたのバージョンで確認するのは非常に面白いでしょう。 – AD5XJ

関連する問題