マルチフィールドのコンテンツデータフィールドで下書きのコンテンツデータの取り扱い

MT7のコンテンツフィールドのことを書いたのだけど。

MTAppjQuery のマルチフィールドでやってる場合

MTAppjQuery の Multifield でコンテンツデータを関連付けする場合、デフォルトでは下書きのコンテンツデータは選択対象には出てこない。

20230303 051503

公開前の下書きのもあらかじめ選択しておきたいといった場合は fieldBlockscontentData のオプションとしてincludeDraft オプションを使うことになる。

20230303 051630

これにより、下書きのコンテンツデータに関するデータ(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 指定で取り出す
という形になりそうだから、非公開のデータは取り出せない。

関連付けられたデータ側の公開ステータスを変えたときに、関連付けているデータ側も再構築するとかその辺も考えておく必要はある。