カスタムフィールドとチェックボックスを使用した表示方法について

46 views
Skip to first unread message

sts

unread,
Oct 3, 2022, 10:23:48 AM10/3/22
to a-blog cms forum
お世話になっております。

使用中のバージョンは3.0.15です。

今回、チェックボックスを使った下記のような機能を実現したいのですが、
実現方法が分からず困っております。

①カスタムフィールドでcategory01~category08までのチェックボックスを実装したエントリーを用意

②上記をEntry_Summary等で一覧で表示し、
category01、category05、category07にチェックが入っている場合やチェックが無い場合 → xxxxx
category02、category04   にチェックが入っている場合   →  yyyyy
category03、category06、category08   にチェックが入っている場合   →   zzzzz
というラベルのようなものをそれぞれのエントリーに表示したい。

③各エントリーに表示するラベルは1つだけで、
yyyy > xxxx > zzzzz 
というような優先順位で表示したい。

この場合、②でIF文を使用してそれぞれのラベルを表示すればよいのは理解しておりますが、③のように優先順位を付けて1つだけ表示する方法が分からなくて困っております。

なお、入力画面のほうは諸事情により改修ができないため、
チェックボックスを使用して実装するしか方法がありません。

実現方法をご教示いただけないでしょうか。

お手数をおかけしますが、よろしくお願い申し上げます。

sts

unread,
Oct 3, 2022, 10:26:50 AM10/3/22
to a-blog cms forum
③について補足します。
たとえばcategory01とcategory04にチェックが入っていた場合に、
「yyyy」とラベルを表示したい、という意味です。

よろしくお願いいたします。
2022年10月3日月曜日 23:23:48 UTC+9 sts:

山本一道@アップルップル

unread,
Oct 4, 2022, 11:32:23 PM10/4/22
to a-blog cms forum
カスタムフィールドのチェックボックスの name="category01" 〜 name="category05" で value="true" だった場合であれば、優先順で IF と ELSE_IF を使って聞いていくだけで希望の動作はするようです。

<!-- BEGIN_IF [{category02}/eq/true/_or_/{category04}/eq/true]-->
<span class="acms-admin-label">yyyy</span>
<!-- ELSE_IF [{category01}/eq/true/_or_/{category05}/eq/true] -->
<span class="acms-admin-label">xxxx</span>
<!-- ELSE_IF [{category03}/eq/true] -->
<span class="acms-admin-label">zzzz</span>
<!-- END_IF -->

name="category[]" で value="01" 〜 value="05" の場合には、対応が少し難しい気がします。上記の category01 で大丈夫でしょうか?


2022年10月3日月曜日 23:26:50 UTC+9 sts:
Reply all
Reply to author
Forward
0 new messages