ページリストで、ある階層の子のページのみを一覧表示する
ページ構造は、
トップ
ーあああ
ーいいい
ーお知らせ
ー新着情報
*新着記事1 (a)
*新着記事2 (b)
ーリリース情報
*リリース記事1 (c)
*リリース記事2 (d)
*リリース記事3 (e)
ー採用情報
*採用記事1 (f)
ー情報
*情報伝達1 (g)
*情報伝達2 (h)
となっているとします。
第一階層である、「ーお知らせ」の子ページが3階層になっています。
質問は、この時ページリストとして、(a),(b),(c),(d),(e),(f),(g),(h)
のみを時系列(あるソート順に並べて)表示できるようにしたいのです。
が、しかし、設定では、「ーお知らせ」配下の2階層目の親ここでは、
ー新着情報
ーリリース情報
ー採用情報
ー情報
と3階層の(a)-(h)が両方表示されてしまいます。
★方法として、第2階層をカスタムテンプレートで除くのですが、
抽出後の情報なので、これをやると、ページナビを4件づつとしていると、
あたり前ですが、1ページで、2階層を除くので、3件とかになります。
★3階層の(a)-(h)に is_featured 属性をつけて、特集ページなど、
属性をキーでの抽出でもいいですが、
できれば、親子、階層をキーで、
お知らせの配下の2階層親を除き、3階層の子のみを抽出としたいのです。
※2階層の親は、サイドバーとかの、オートナビで、リンク作成します。
これは行けると思います。
※補足ですが、「お知らせ」は、オートナビから除く設定になっています。
一般的な、グローバルナビでは表示したくないからです。
以上質問が長くなりすみません。
よろしくお願いします。
Re: ページリストで、ある階層の子のページのみを一覧表示する
ご回答ありがとうございます。
concrete5.6.3.2.ja
「ページタイプ」を分けることで、一応、できました。
★対応したこと。
ページタイプの追加作成
※対応前のページタイプは、「トップページ」と「default」「ブログ」のです。
今回、以下の三つのページタイプを作りました。
ーお知らせ ・・・ 「お知らせ」ページタイプ
ー新着情報 ・・・ 「新着情報」ページタイプ
ーリリース情報・・・ 「リリース情報」ページタイプ
ー採用情報 ・・・ 「採用情報」ページタイプ
ー情報 ・・・ 「情報」ページタイプ
そして、お知らせの一階層下の親&子ページは、それぞれのページタイプに設定しました。
例)「新着情報」ページタイプ ・・・ー新着情報、*新着記事1、*新着記事2
「リリース情報」ページタイプ ・・・ーリリース情報、*リリース記事1、
*リリース記事2、*リリース記事3
※ー新着情報、ーリリース情報、ー採用情報、ー情報の 親ページのみ、
カスタム属性で、「ページリストから除く」に設定
そして、「ーお知らせ」ページにて、ページリストブロックでの設定は、
(このページリストは、ナビから除く設定にしています。)
4ページ: ページタイプ・・・ **すべて**
ページ付け・・・ チェックオン
サイト中の場所・・・ ここのページ以下の階層 すべての子ページを含む
ページを並び替え・・・ 新規記事を最初に
※RSSフィードを出力、要約の文字数制限は、適宜設定
としました。設定画面で困ったのは、「プレビュー画面」がありますが、これで上記設定に変えても、全く表示がされずないので、そもそもできないのでは? と思っておりました。
実際は、「保存」を押して、ページを再更新すると、出てきましたが、
プレビューって、実際と異なる表示をするものなのでしょうか?
※ですので、タスタムテンプレート内部で、filterByAttribute等を使い
必要なページリストを作っておいて、最後でページ取得のget()を呼ぶことで、
作成したかったのです。 ※本家等のサンプルにてトライしました。
これだと、一般的ではないですが、検索条件を自由に作成して、
任意のページリストも作成できるのでは、と思っております。
しかしながら、この方法では、思った表示にはいたりませんでした。
サンプル的なものもトライしましたが、できませんでした。
以上ご報告まで。
ありがとうございます。
Re: ページリストで、ある階層の子のページのみを一覧表示する
filterByAttribute を使った絞り込みは、PageList+という有償アドオンが便利なのでそれを使うことが多いです。
takuro hishikawa
Re: ページリストで、ある階層の子のページのみを一覧表示する