前提・実現したいこと
MTのカスタムフィールド (ラジオボタン)による
複雑な条件分岐について質問です。
個人の職種領域と役職についてのリストを作成しようとしていて、
それぞれを各記事のカスタムフィールド (ラジオボタン)にて管理しようとしています。
「領域1」「領域2」「領域3」の各3領域に対して、
「役職1」「役職2」「役職3」「役職4」「役職5」「役職6」の各6領域がぶら下がる形で
最終的にjson出力を行いたいです。
例えば、
Aさん(領域1、役職1)
Bさん(領域1、役職1)
Cさん(領域1、役職2)
Dさん(領域2、役職5)
Eさん(領域3、役職5)
のように、それぞれの領域に複数の異なる役職の人物が登録される場合もあれば、
その領域に一人もいない場合もあります。
発生している問題・エラーメッセージ
"field_1": { "position_1": [ { "img": "", "name_jp": "aa", "name_en": "aa", "subject": ["aa","aa","aa"], "contents": "<h1>aa</h1>", "url": "google.com" }, { "img": "", "name_jp": "bb", "name_en": "bb", "subject": ["bb","bb"], "contents": "<h1>bb</h1>", "url": "google.com" } ], "position_1": [ { "img": "", "name_jp": "aa", "name_en": "aa", "subject": ["aa","aa","aa"], "contents": "<h1>aa</h1>", "url": "google.com" }, { "img": "", "name_jp": "bb", "name_en": "bb", "subject": ["bb","bb"], "contents": "<h1>bb</h1>", "url": "google.com" } ] }
該当のソースコード
<MTBlogs include_blogs="00"> <MTEntries category="$hoge" field:hoge_field="field_1" sort_order="ascend"> <MTIf name="__first__"> "field_1": { </MTIf> <MTEntries field:hoge_position="position_1" sort_order="ascend"> <MTIf name="__first__"> "position_1": [ </MTIf> { "img": "<MThoge_imgAsset><MTAssetFileName></MThoge_imgAsset>", "name_jp": "<MThoge_name_jp>", "name_en": "<MThoge_name_en>", "subject": ["<MThoge_label nl2br="1" replace="<br>",'","'>"], "contents": "<MThoge_contents encode_json="1" strip_linefeeds="1">", "url": "<MThoge_url>" }<MTUnless name="__last__">, <MTElse> ], </MTUnless> </MTEntries> <MTIf name="__last__"> }, </MTIf> </MTEntries>
試したこと
各記事に個人の情報をそれぞれ登録・管理しようとしているのですが、
MTEntries を入れ子にして使用すると、
親MTEntriesの登録記事分だけ子MTEntriesも余分に出力されてしまい、希望の挙動になりません。
uniqueモディファイア を子Entriesにつけてみたところ、
上記のような余分な出力はないものの、
なぜか最初に登録した記事(CFが正しく付与されており本来なら出力されてほしい)が出なくなりました。
他にも、子カテゴリを3階層目まで作成し、(親カテゴリは別で使用している)
同じく条件分岐を試みましたがこちらは期待する反応からかけ離れたものになってしまいました。
補足情報(FW/ツールのバージョンなど)
MTのバージョンは、
Movable Type Pro r.4703
です。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。