Date: 2006-05-15
Tags: plone

CMFContentPanelsでトップ画面に複数のCOREBlog2エントリ一覧を表示

複数のCOREBlog2インスタンスがあるときに、ポータルのトップページで各Blogの最新の5件くらいを表示したい場合があります。方法の一つとして、CMFContentPanelsで表示してみます。この説明では以下のプロダクトを使用しています。

まず、CMFContentPanels-2.3を入手し、Products以下に展開します。Ploneで使えるようにするため、サイト設定の プロダクトの追加と削除 でCMFContentPanelsを追加しましょう。

次に、任意のフォルダにContentPanelsを追加します。

図1
図2

今回はPloneサイトのトップに追加します。追加したらlayoutタブに移動して、ContentPanelsで表示するパネルを追加します。UIがわかりにくいですが、パネルを追加するには下図の○で囲ってある new panel をクリックします。

図3

ポップアップWindowが表示されます。

図4

表示対象フォルダを指定する Related Content でCOREBlog2インスタンスの場所を指定してください。次にCOREBlog2の最新のエントリを表示するためにViewletから Recent changes を選択してください。

図5

CMFContentsPanelsは、Related Contentの選択しているPloneオブジェクトのタイプによって選択できるViewletの内容が変化します。またViewletによってViewlet settingsの内容が変化します。このUIも慣れるまではわかりにくい気がします。

Viewlet settings の設定で、表示するskin、タイトル、アイテムの種類、審査状態、subfolders(フォルダ以下を内容を表示するかどうか)などを設定します。COREBlog2の投稿のみを表示する場合は、アイテムの種類で エントリ のみを選択してください。

設定が完了したら select this panel を押して設定を反映します。これでBlogのエントリが表示されるようになったと思います。表示タブへ移動して内容を確認しましょう。

図6

最後に、ContentPanelをサイトのトップページに表示するように設定します。ホームディレクトリに移動して、ContentPanelをのデフォルトビューに設定しましょう。グリーンのバー部分にある 表示 プルダウンメニューからデフォルトビューを設定することが出来ます。

図7

そのフォルダに置かれている、デフォルトビューになることが出来る複数のオブジェクトが一覧表示されるので、作成したContentPanelsを選択します。

図8

トップページに移動して、ContentPanelsが表示されていることを確認してください。

図9

なお、パネルの設定でRecent changesの代わりに Folder changes を選択するとタイトルと本文の一部が表示されるようになります。

図10

これで一通りの設定が完了しました。同じ手順で他のBlogの内容を表示したりしてみましょう。

次は、COREBlog2エントリを表示するviewletを作った過程について書こうとと思います(つづく)