コラム
いま、キャロルシステムで「旬」な情報をお届け!

【HeartCore】条件分岐に使えるcondition関数

Post date : 2020年02月25日|Created by Sonoda

【HeartCore】条件分岐に使えるcondition関数

こんにちは。
本コラムでは、HeartCore標準関数の「condition関数」についてご紹介します。

condition関数とは

condition関数とは、エクセルの関数やプログラミング言語などでもよく見かけます
「if文」の機能を持つ関数です。

ある条件を指定し、その条件にマッチするか否かで、出力値を出し分けることができます。

condition関数の書き方

下記のコードにて、使用することができます。

@@@condition:{名前}:if:({条件})@@@
条件にマッチした場合の表示
@@@condition:{名前}:else@@@
条件にマッチしない場合の表示
@@@condition:{名前}:endif@@@

使用例

例として「今が1~6月か、7~12月か」によって表示メッセージを分けてみます。

◆記述コード
※@@@now:format=%m@@@ … 今の月を表示する関数

@@@condition:checkMonth:if:(@@@now:format=%m@@@<=06)@@@
今は、1月~6月です。
@@@condition:checkMonth:else@@@
今は、7月~12月です。
@@@condition:checkMonth:endif@@@

◆出力
今は、1月~6月です。

今の月に該当する出力となったでしょうか?

このように、condition関数は、特定の条件により表示を分岐させたいときに便利な関数です。
条件部分には他の@関数や、#関数、データベースの値を使用することが多いです。

また、運用で使用する際は、下記のことに注意してください。
・条件に指定できるものには制限がある
・1ページで複数のcondition関数を使用する場合は、{名前}をconditionごとに変える必要がある

それでは、続いて#関数と組み合わせる場合の使用例をご紹介していきます。

使用例:#関数との組み合わせ

前回の記事「【HeartCore】パラメータ表示ができる!#関数」で紹介した#関数と、condition関数を組み合わせる例をご紹介します。

例:会社の社員紹介ページ
2名の社員の紹介ページを作成する場合を考えます。
https://www.carol.co.jp/cms/column_20200225/member/yamada/
https://www.carol.co.jp/cms/column_20200225/member/tanaka/
上記のように、社員ごとに別ページを作成する方法もありますが…。

今回は、condition関数を用いることで
https://www.carol.co.jp/cms/column_20200225/member/
という1ページのみを作成し、"name"というURLパラメータによって2名の社員の出し分けを行います。

◆社員紹介ページの記述コード

<h1>社員紹介ページサンプル</h1>
@@@condition:member:if:(###name###=yamada)@@@
名前:山田太郎<br>
社歴:1年目<br>
趣味:バイク
@@@condition:member:elseif:(###name###=tanaka)@@@
名前:田中しおり<br>
社歴:3年目<br>
趣味:映画鑑賞
@@@condition:member:else@@@
該当の社員は存在しません。
@@@condition:member:endif@@@

◆出力
※クリックでページが開きます。
https://www.carol.co.jp/cms/column_20200225/member/?name=yamada
https://www.carol.co.jp/cms/column_20200225/member/?name=tanaka

「出力」ページでは、condition関数の分岐条件を「#関数で受け取った"name"パラメータの値」とすることで、同じページを表示しているにも関わらず、別々の内容を表示させています。

まとめ

以上、HeartCoreの標準関数であるcondition関数についてご紹介しました。

condition関数は「ページの一部の表示を、特定条件で出し分けたい」という場合に便利です。
他の関数との組み合わせにより、様々な機能の実装に役立つ関数ですので、ぜひ利用してみてくださいね。

HeartCore導入の技術支援も行っています! まずは、お気軽にご相談ください!

お問い合わせはこちら