Posted by nikaso on October 5, 2017 at 2:17am
D8のviewsについて質問なのですが、
例えば2017年9月の投稿一覧(どの月かは、"201709"のような引数で動的に指定したい)を作りたい場合、どのようにすればよいのかがいまいちわかりません。
それと、できれば前後1週間の投稿も含めたい(つまり2017年9月という指定をした場合に2017年8月25日~10月7日までの投稿を含めたい)のですが、そのようなことも可能でしょうか?
D8のviewsについて質問なのですが、
例えば2017年9月の投稿一覧(どの月かは、"201709"のような引数で動的に指定したい)を作りたい場合、どのようにすればよいのかがいまいちわかりません。
それと、できれば前後1週間の投稿も含めたい(つまり2017年9月という指定をした場合に2017年8月25日~10月7日までの投稿を含めたい)のですが、そのようなことも可能でしょうか?
Comments
Viewsの編集画面の右上になる「高度」>「コンテクスチュ
Viewsの編集画面の右上になる「高度」>「コンテクスチュアルフィルター」より「作成年月」を追加すればいけますよ。
Drupal8のデフォルト(だっけ?)にある「Archive」Viewをみると参考になるはずです。
Exposed filterもあります
DrupalMeetupの2017年8月の回で話題になりました。
Contextual FilterとExposed Filter、Search APIが選択肢としてあるとアドバイスされたのを思い出します。
Exposed Filterを利用する場合は、フィルターの条件設定で、
「このフィルターを訪問者へ表示し、変更できるようにする」にチェックをつけるとURLのパラメーターで名前をつけて値を与えることができます。範囲で限定する時は、コンテクスチュアルフィルターより便利なケースがあります。
「高度」>「外部設置フォーム」の「外部設置フォームをブロックで提供」を有効にすれば、ブロックとして外出しする事もできるのですが、moreリンクの時に入力内容が引き継がれないというバグが8.3.7では残っています。
資料を読む限りSearch APIにはもっと柔軟性があるように思われますが、まだ検証していないので良く分かりません。
ご参考まで
muroさん、hagiさん、早速のアドバイスありがとうござ
muroさん、hagiさん、早速のアドバイスありがとうございます。
今回私が考えているのは単純な月別の投稿アーカイブで、その月の投稿だけでなく前後1週間分の投稿も含めたいという少し特殊な要望でして、viewsで対応できなければ他の方法でと思っております。
viewsに限らず何かスマートな解決方法がございましたら引き続きアドバイスをいただければ幸いです。
私はDrupalの経験があまりなく、コードを書くようなカスタマイズについてはこれから勉強したいと思っておりますので、やさしく教えていただけるとありがたいです。