2023-03-03
マルチフィールドのコンテンツデータフィールドで下書きのコンテンツデータの取り扱い
MT7のコンテンツフィールドのことを書いたのだけど。
MTAppjQuery のマルチフィールドでやってる場合
MTAppjQuery の Multifield でコンテンツデータを関連付けする場合、デフォルトでは下書きのコンテンツデータは選択対象には出てこない。
公開前の下書きのもあらかじめ選択しておきたいといった場合は fieldBlocks
の contentData
のオプションとしてincludeDraft
オプションを使うことになる。
これにより、下書きのコンテンツデータに関するデータ(id)もマルチフィールドを適用しているフィールドのデータとして一旦保持される。
実際にここから出力する際には、対象のコンテンツタイプを
<mt:Foreach name="item.data" as="item"> <mt:NestVar name="item" setvar="_id" /> <mt:Contents content_type="relation" site_id="1" id="$_id"> <h2>リレーションのラベル : <mt:ContentLabel></h2> </mt:Contents> </mt:Foreach>
こんなかんじで、
が入っているマルチフィールドの値を取り出してループしつつ、
id
そのループの中で対象のコンテンツデータを id
指定で取り出す
という形になりそうだから、非公開のデータは取り出せない。
関連付けられたデータ側の公開ステータスを変えたときに、関連付けているデータ側も再構築するとかその辺も考えておく必要はある。