人気ワード

Copy Title & URL

Bookmark

Feed

Share

if文を出力するコンテンツ変数を使用する方法

目次

  1. 特殊関数:if変数とは
    1. コンテンツ変数
    2. 第1引数($1)の指定
    3. 第2引数($2)の指定
  2. 変数の記述例

特殊関数:if変数とは

コンテンツに条件式(if文)を出力する特殊関数:if変数の使用方法を解説します。

「〇〇が××なら指定のボタンを表示」「〇〇が指定の数値以上で特定の文字列を表示」といった条件によるコンテンツの出し分けが可能です。

コンテンツ変数_if関数
図1-1:コンテンツ設定 - コード入力画面

コンテンツ変数

特殊関数のコンテンツ変数として、以下の変数を用意しています。
※引数指定の詳細は、次章を参照してください。

基本的な構文
条件式を出力する [if_◯◯] 変数に、第1引数(比較対象)、第2引数(比較値) を半角コロンで区切って指定します。条件式が成立した場合に処理が実行されます。
if文の最後は、[end_if] で終了します。
[if_◯◯:第1引数($1):第2引数($2)]
[end_if]
if変数の種類と条件
変数 条件 / 説明
[if_equal] if($1 = $2) $1と$2が等しい場合の条件式 
※第1引数がチェックボックスの場合は[if_like]を使用
[if_not_equal] if($1 != $2) $1と$2が等しくない場合の条件式 
※第1引数がチェックボックスの場合は[if_like]を使用
[if_greater_equal] if($1 >= $2) $1が$2以上の数値の場合の条件式 
※第1引数は、数値項目(整数・小数点・日付)のみ指定可。第2引数は数値を指定
[if_less_equal] if($1 <= $2) $1が$2以下の数値の場合の条件式 
※第1引数は、数値項目(整数・小数点・日付)のみ指定可。第2引数は数値を指定
[if_greater] if($1 > $2) $1が$2より大きい数値の場合の条件式 
※第1引数は、数値項目(整数・小数点・日付)のみ指定可。第2引数は数値を指定
[if_less] if($1 < $2) $1が$2未満の数値の場合の条件式 
※第1引数は、数値項目(整数・小数点・日付)のみ指定可。第2引数は数値を指定
[if_like] if($1 LIKE $2) $1が$2の文字列に部分一致している場合の条件式
[else_if] 条件が偽のときの処理を記述する。引数はありません
[end_if] if文終了宣言

if変数 使用時の注意点

  • if変数は、入れ子構造にできません。※[if_◯◯] の中に [if_◯◯] の記述は不可。
  • 記述した変数 [if_◯◯:$1:$2] の後は、改行してください。

第1引数($1)の指定

第1引数($1)は、固定項目、任意項目(任意項目を持たないモジュールは対象外)、$LOGIN_TYPE、$LOGIN_ID の変数が指定できます。

  • 固定項目:各モジュール、システムで定義された項目。※項目名はAPIで取得が可能。
  • 任意項目:任意で作成した項目。項目のID(任意で設定したID)を指定します。
  • 項目設定_ID
    図1-2:項目設定 - 項目のID
  • $LOGIN_TYPE:コンテンツにアクセスしているユーザーのタイプを返却する変数。
    nobody(一般) / user(ユーザー) / manager(マネージャー) / admin(管理者)
  • $LOGIN_ID:コンテンツにアクセスしているユーザーのIDを返却する変数。

if変数は、第1引数の指定が「$LOGIN_TYPE」「$LOGIN_ID」の場合は全てのコンテンツタイプと入力エリアに使用可能ですが、任意項目の指定は、以下のコンテンツと入力エリアに制限されます。

任意項目を引数に指定できるコンテンツタイプ
モジュール コンテンツタイプ(コンテンツ入力エリア)
manager マネージャー一覧(一覧挿入コード)、マネージャー詳細(基本コード)
user ユーザー詳細(基本コード)
item アイテム一覧(一覧挿入コード)、アイテム詳細(基本コード)
entry エントリー一覧(一覧挿入コード)、エントリー詳細(基本コード)
point ポイント一覧(一覧挿入コード)、ポイント詳細(基本コード)
pay 注文一覧(一覧挿入コード)、決済一覧(一覧挿入コード)、注文詳細(一覧挿入コード)

第2引数($2)の指定

第2引数は、条件として比較する値や文字列、数値項目を指定します。

  • 第1引数が任意項目、かつ、項目種別がプルダウンメニュー、ラジオボタン、チェックボックスで、選択肢が「直接記述」の場合は、選択肢の日本語名称を指定することができます。
  • 項目の選択肢_直接記述
    図1-3:項目設定 - 項目の選択肢(直接記述)
  • 第1引数が任意項目、かつ、項目種別がプルダウンメニュー、ラジオボタン、チェックボックスで、選択肢が「フィールド」参照の場合は、該当データの登録・編集画面で開発者ツールからoption要素のvalue値を取得して指定します。
  • 項目の選択肢_フィールド
    図1-4:項目設定 - 項目の選択肢(直接記述)
  • 第1引数が固定項目、かつ、選択肢がある場合は、該当固定項目のシステムIDを指定します。
  • 固定項目_ステータスのシステムID
    図1-5:アイテムシート | 各種設定 - ステータス設定「有効」選択肢の例
  • 第1引数が「$LOGIN_TYPE」の場合は、いずれかのユーザータイプ(nobody / user / manager / admin)を指定します。
  • 第2引数を指定しない場合、「空」の条件になります。

変数の記述例

if_equal

任意項目:商品種別(item_type)が、「一点もの」と一致する場合、任意の画像を表示

[if_equal:item_type:一点もの]
<div class="category_image"><img src="[item_url_origin_image1]" alt="#" /></div>
[end_if]

ログインタイプがユーザーの場合、ユーザー用ヘッダーを表示し、未ログインの場合は一般用ヘッダーを表示

[if_equal:$LOGIN_TYPE:user]
  [parts_header_m]
[else_if]
  [parts_header]
[end_if]

if_not_equal

任意項目:商品種別(item_type)が、「一点もの」と一致しない場合、任意の画像を表示

[if_not_equal:item_type:一点もの]
<div class="category_image"><img src="[item_url_origin_image2]" alt="#" /></div>
[end_if]

if_greater_equal

任意項目:商品在庫(goods_stock)が「100以上」の場合、「在庫多数」と表示

[if_greater_equal:goods_stock:100]
<p>在庫多数</p>
[end_if]

if_less_equal

任意項目:商品在庫(goods_pstock)が「10以下」の場合、「在庫残りわずか」と表示

[if_less_equal:goods_stock:10]
<p>在庫残りわずか</p>
[end_if]

if_greater

任意項目:商品在庫(goods_stock)が「100」より大きい場合、「在庫多数」と表示

[if_greater:goods_stock:100]
<p>在庫多数</p>
[end_if]

if_less

任意項目:在庫(goods_stock)が「10」より小さい場合、「在庫残りわずか」と表示

[if_less:goods_stock:10]
<p>在庫残りわずか</p>
[end_if]

if_like

payシートの固定項目:注文名(name)に「年額」が含まれている場合、年会員登録コンテンツに誘導

[if_like:name:年額]
<div class="btn_submit"><a href="./contents.php?c=regist_year">登録</a></div>
[end_if]

else_if

pointシートの固定項目:ステータス(state_status)が「無効」の場合、ポイントステータスを赤字表記し、「無効」以外のステータスは青字で表記。※************ は、ステータス選択肢「無効」のシステムID

[if_equal:state_status:************]
<span class='state-mark state-red'>[point_state_status]</span>
[else_if]
<span class='state-mark state-blue'>[point_state_status]</span>
[end_if]

任意項目:ショップ画像(shop_image1)が登録されていない場合はsample画像を表示し、登録があればショップ画像を表示する。※[if_equal]条件で第2引数を「空」で指定した例

[if_equal:shop_image1:]
<div class="sample_image"><img src="./file/box/sample/sample_01.png" alt="sample" /></div>
[else_if]
<div class="main_image"><img src="[item_url_shop_image1]" alt="#" /></div>
[end_if]

end_if

if文の終了宣言です。if文の最後に必ず記述します。

if変数を使用して組み込んだコンテンツが意図する設定や表示にならない場合は、変数の記述確認と共に、コンテンツ自体の検索クエリ設定や閲覧制御も合わせてご確認ください。