2019-09-18

PowerCMS X で関連付けられた情報を取り出す

この使い方が正しいのかどうかはわかっていないけれど。先日の続き。

製品情報を管理するサイトを想定して、製品情報を管理する product モデルを作成する。
メーカー情報を管理する maker モデルを作成する。

product モデルのカラムとして maker カラムを作成して、ここはリレーションの設定で maker モデルのデータを選択出来るようにした。

やりたいこと

各メーカーのページでは製品のうちそのメーカーが選択されているものを一覧表示するということをやってみる。

結果としては、製品情報一覧を作成したテンプレートをそのまま持っていっただけでほぼ使えた。

メーカーアーカイブのビューの設定

URLの作成

アーカイブの種別として maker になってるからまずはメーカーごとのページが出力できて、そのうえでコンテナが productproduct のデータが扱えるのかなー、、、と。

リレーションでやってるところのデータがこれでサクッととれるみたいで、テンプレートは先日のとほぼ同じ。

<div class="top-heading">
        <h2 class="top-heading__title"><mt:makertitle>の製品一覧</h2>
        <p class="top-heading__lead">テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。<br>
          テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。<br>
          テキストが入ります。テキストが入ります。テキストが入ります。テキストが入ります。</p>
      </div>
<mt:products>
      <mt:if name="__first__">
      <ul class="c-summary3">
      </mt:if>
        <li class="c-summary__item e-card">
          <a href="<mt:productpermalink>">
            <div class="e-card__img"><img src='<mt:assetthumbnailurl name="image" width="376" >' alt="" title=""></div>
            <div class="e-card__body">
              <p class="e-card__title"><mt:producttitle></p>
              <p class="e-card__text"><mt:productdesc nl2br></p>
            </div>
          </a>
        </li>
        <mt:If name="__last__">  
      </ul>
    <mt:ignore>
      <div class="e-button-group">
        <a href="" class="e-button e-button--accent e-button--large">もっと見る</a>
      </div>
    </mt:ignore>
    </div>
    </mt:If>
</mt:products>

mt:products に特にモディファイア的なの設定してないけど、期待した感じには動いている様子。

こんな感じで設定されてる。

引き続きもう少し触ってみる