ねここねこ

コンテンツタイプが属する複数のカテゴリのパンくずを出したい

0

複数のカテゴリセットを登録したコンテンツタイプを作成しました。
カテゴリは下記のような構造です。
複数カテゴリの登録OKの設定にして、親子ともに所属する形になっています。

カテゴリセット1
└ カテゴリ親1(このカテゴリに所属)
  └ カテゴリ子1(このカテゴリに所属:プライマリー)

カテゴリセット2
└ カテゴリ親2(このカテゴリに所属)
  └ カテゴリ子2(このカテゴリに所属:プライマリー)

出力したいのは下記のような、1ページ内の2つのパンくずリストになります。

TOP > カテゴリ親1 > カテゴリ子1 >コンテンツデータ名
TOP > カテゴリ親2 > カテゴリ子2 >コンテンツデータ名

いろいろ試みているのですが、TOP > カテゴリ親1 >コンテンツデータ名といった
カテゴリ子がないものなど、不要なものが出力されたりしてなかなかうまくいきません。

どなたかお知恵を拝借できないでしょうか。

返信(1)

| 返信する
  • 元のコードが分かりかねるため若干エスパーとなってしまいますが、
    例えば下記のような実装を行うと、ねここねこさんが仰るように不要なパンくずリストが出力される事になります。

    <mt:ContentField content_field="カテゴリセット1">
    <ul>
      <li>TOP</li>
      <mt:ParentCategories>
      <li><mt:CategoryLabel></li>
      </mt:ParentCategories>
      <li><mt:ContentField content_field="タイトル"><mt:ContentFieldValue></mt:ContentField></li>
    </ul>
    </mt:ContentField>

    <mt:ContentField>ブロックタグは、複数のカテゴリを選択している場合、プライマリカテゴリ⇒その他のカテゴリの順にループ処理を行います。

    今回の場合はプライマリカテゴリ(=1度目のループ)についてのみ処理を行うようにすればよいので、
    下記のように条件を入れると、必要なパンくずリストだけを出力できます。

    <mt:ContentField content_field="カテゴリセット1">
    <mt:If name="__first__">
    <ul>
      <li>TOP</li>
      <mt:ParentCategories>
      <li><mt:CategoryLabel></li>
      </mt:ParentCategories>
      <li><mt:ContentField content_field="タイトル"><mt:ContentFieldValue></mt:ContentField></li>
    </ul>
    </mt:If>
    </mt:ContentField>

    カテゴリセット2についても同様となります。
    解決のヒントになれば幸いです。

返信する


カテゴリグループ

106 23

最新のトピック: test (2019年5月29日 sato)

フォーラムカテゴリー

21 76

最新のトピック: 公開終了日の取り消し (2013年10月18日 gsk)

174 498

最新のトピック: 現在の投稿の本文を取得したい (2019年10月28日 sakoda)

OpenID対応しています OpenIDについて