「このサイトの制作日記」の仕組み変更

投稿者:Administrator 投稿日時:2011/12/22(木) 13:08

「このサイトの制作日記」はコンテンツタイプをBook Pageにしていたのですが、Book Pageはページの並べ替えに問題がありそうなので、ふつうの「ページ」で作り直すことにしました。

ページ並べ替えの問題というのは、「ウェイト」が-15〜15でしか選択できないということです。おそらくその影響で、32ページ以上の場合はドラッグ&ドロップでの並べ替えも正常に動作しません。

Drupalのバグのようで、"nees backport to D6"ということですので、とりあえずBook Pageは少数ページの場合だけ使用することにしました。

http://drupal.org/node/589440

で、要は「日記」として読みやすければよいので、Viewsで一覧にまとめて、記事を「前のページ」「次のページ」というようなナビゲーションで移動できるようにしたいと思います。

まずは「管理セクション」→「コンテンツの管理」→「コンテンツタイプ」で、新しいコンテンツタイプを作成します。

「コンテンツタイプの追加」で、名前「このサイトの制作日記」、タイプ「site_diary」としてコンテンツタイプを作成します。

で、既存のコンテンツを新しいコンテンツタイプにコンバートします。

「管理セクション」→「サイトの構築」→「Node Convert templates」へ進み、「Add template」で
Template name:「Book page から このサイトの制作日記」
Source type:Book page
Destination type:このサイトの制作日記

と、設定し「次へ」をクリックし、さらに「作成」をクリックします。

で、テンプレートができたので、「管理セクション」→「コンテンツの管理」→「コンテンツ」で、コンテンツを絞り込み、該当のものにチェックを入れて「更新オプション」で先ほど作成したテンプレートを選択して「更新」します。

次に「管理セクション」→「サイトの構築」→「Views(表示)」で、「追加」をクリックして、ビューの名前を「site_diary」とし、ビュータイプを「ノード」として「次へ」進みます。

で、いつものViewの設定です。

名前:このサイトの制作日記
スタイル:テーブル

フィールド
 ノード:タイトル
 ノード:投稿日

並び替え基準
 ノード:投稿日 昇順
 
フィルタ
 ノード:タイプ=このサイトの制作日記
 
というような感じで設定して、「ページ」ディスプレイを追加して

表示件数:無制限

パス:site_diary_index
メニュー:通常 このサイトの制作日記

としました。

これで、メニューからViewを表示させることができるようになりました。

最後に、ページを前後に移動するためのナビゲーションボタンをつけます。

ここでは、betaしか無いのですが、「custom_pagers」モジュールを使います。

ふつうにインストールして、「管理セクション」→「サイトの構築」→「Custom pagers」で「Add a new custom pager」をクリックし、

タイトル:このサイトの制作日記用
Pager position:Below the node's body
Pager visibility
 By node type:このサイトの制作日記
Pager node list
 Use a view:site_diary
 
という感じで設定し、「Submit」します。

細かいところはもう少し検討したいと思いますが、まずは思った通りになりました。