ページリストで、ある階層の子のページのみを一覧表示する

2015年3月5日 at 5:12

ページ構造は、

トップ

 ーあああ
 ーいいい

 ーお知らせ
  ー新着情報
   *新着記事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: ページリストで、ある階層の子のページのみを一覧表示する

2015年3月5日 at 7:59
ページタイプを分ければかんたんです。
 

Re: ページリストで、ある階層の子のページのみを一覧表示する

2015年3月6日 at 5:32
hissy 様

ご回答ありがとうございます。

concrete5.6.3.2.ja

「ページタイプ」を分けることで、一応、できました。

★対応したこと。

ページタイプの追加作成
※対応前のページタイプは、「トップページ」と「default」「ブログ」のです。

 今回、以下の三つのページタイプを作りました。
 ーお知らせ   ・・・ 「お知らせ」ページタイプ
  ー新着情報  ・・・ 「新着情報」ページタイプ
  ーリリース情報・・・ 「リリース情報」ページタイプ
  ー採用情報  ・・・ 「採用情報」ページタイプ
  ー情報    ・・・ 「情報」ページタイプ

そして、お知らせの一階層下の親&子ページは、それぞれのページタイプに設定しました。

例)「新着情報」ページタイプ ・・・ー新着情報、*新着記事1、*新着記事2
  「リリース情報」ページタイプ ・・・ーリリース情報、*リリース記事1、
                    *リリース記事2、*リリース記事3

※ー新着情報、ーリリース情報、ー採用情報、ー情報の 親ページのみ、
カスタム属性で、「ページリストから除く」に設定

そして、「ーお知らせ」ページにて、ページリストブロックでの設定は、
(このページリストは、ナビから除く設定にしています。)

 4ページ: ページタイプ・・・ **すべて**
        ページ付け・・・ チェックオン
      サイト中の場所・・・ ここのページ以下の階層 すべての子ページを含む
     ページを並び替え・・・ 新規記事を最初に

     ※RSSフィードを出力、要約の文字数制限は、適宜設定

としました。設定画面で困ったのは、「プレビュー画面」がありますが、これで上記設定に変えても、全く表示がされずないので、そもそもできないのでは? と思っておりました。

実際は、「保存」を押して、ページを再更新すると、出てきましたが、
プレビューって、実際と異なる表示をするものなのでしょうか?

※ですので、タスタムテンプレート内部で、filterByAttribute等を使い
 必要なページリストを作っておいて、最後でページ取得のget()を呼ぶことで、
 作成したかったのです。 ※本家等のサンプルにてトライしました。

 これだと、一般的ではないですが、検索条件を自由に作成して、
 任意のページリストも作成できるのでは、と思っております。
 しかしながら、この方法では、思った表示にはいたりませんでした。
 サンプル的なものもトライしましたが、できませんでした。

 以上ご報告まで。
 ありがとうございます。
 

Re: ページリストで、ある階層の子のページのみを一覧表示する

2015年3月6日 at 14:02
プレビューに反映されないのはバグで、次のバージョンから修正されます。
filterByAttribute を使った絞り込みは、PageList+という有償アドオンが便利なのでそれを使うことが多いです。
 

Re: ページリストで、ある階層の子のページのみを一覧表示する

2015年3月7日 at 6:09
hissy 様

重ね重ねありがとうございます。
有償アドインの情報もありがとうございます。