メインコンテンツまでスキップ

Tutorial2:イベント申込


参加申し込み機能の作成

イベント紹介サイトに、イベント参加申し込み機能を追加します。

サンプルサイト>エントリーコンテンツ

以下の手順で作成していきます。
  1. entryモジュールの管理
    1. エントリーシートの作成
    2. 項目の設計
  2. エントリーコンテンツの作成
    1. コード記述
    2. アイテムコンテンツにリンクを追加

entryモジュールの管理

アイテムに紐づく申し込みには、モジュール「entry」で管理します。

1.イベント参加申し込みシートを作成

  1. 「ヘッダーの設定(⚙️歯車アイコン)」⇒「シート設定|モジュール」⇒「entry|シート作成」の順に設定画面を開く

  2. シート作成設定

項目選択内容・記述選択・記述例
アイテムシートエントリー対象のシートを選択イベント
エントリー名称適宜イベント参加申し込み
シートエイリアス適宜event-entry
排他制御有効/無効有効
重複設定許可する/禁止する許可する
ステータス(初期値)無効/有効有効
  • entryに紐づけることのできるモジュールはitemのみ
  • 重複設定:エントリー重複(同一ユーザーが同一アイテムへエントリー)の許可 / 禁止設定
登録上限を設定するには
  1. シート作成後に、シート編集画面を開く
  2. 登録上限設定を「有効」にする
  3. アイテムシートで設定した項目の「整数」項目が選択肢に表示される
    例)情報項目の作成で作成した「参加人数」を選択して「更新」

2. サイドメニュー表示

「イベント参加申し込み」をサイドメニューに表示させます。

参考:「サイドメニューの作成」 「3.メニューにシート追加」

3. 申し込みシートに項目作成

例)

項目名ID項目種別選択肢必須
設定
その他
設定事項
氏名name文字列(1行)必須
メールアドレス*mail文字列(1行)必須項目定義:メールアドレス
会員種別memberラジオボタン会員
一般
必須
コメントcomment文字列(複数行)任意

*Tutorial3の「自動配信メール」で利用します。

エントリー対象情報
  • 申込対象(イベント)情報は自動登録される(項目作成は不要)

コンテンツの作成

1. イベント申し込みページ(コンテンツ)

  1. ヘッダーの⚙️歯車アイコンから「設定」
  2. 「コンテンツ」を選択
  3. 新規作成
  4. コンテンツタイプ:「entry」⇒「エントリー登録」⇒「 対象シート選択」

2. コード入力

エントリー登録では1コンテンツ内に各要素のコード記載が必要

テンプレートエンジンコンテンツ変数
入力画面コードinput.paletteinput.html
エラー挿入コード入力画面内に記述*error.html
確認画面コードcheck.palettecheck.html
完了画面コードcomp.palettecomp.html

・入力画面でpage skip(フォーム開始確認画面なし)を指定した時は確認画面の記述は不要
・VScodeではコンテンツの子要素「src」内 に用意
・パレットCMS管理画面では「コンテンツ設定|テンプレート」に用意

参考:inazuma⚡template

*テンプレートエンジンのエラーコード例

入力項目のエラー(必須項目の未入力やフォーマット制限など)表示は、入力画面コード内にエラーメッセージ用コードを記述します。

@if ( errors )
<ul>
@for ( let error in errors )
<li>{{ error }}</li>
@endfor
</ul>
@endif

3. イベントページに申し込みページのリンクを追加

イベント(アイテム一覧)、イベント詳細(アイテム詳細)のコンテンツに、申し込みページのリンクを追加します。

URLパラメータ例

イベント(アイテム)から申し込み(エントリー)へのリンクは各イベント(アイテム)の「システムID」を指定

https://[システム設定先]/contents.php?c=event-entry&item={{ record.id }}

※パラメータの左辺は「item」になります

4. 動作確認

イベント申し込みが正しく行われていることを確認してください。

管理画面にデータができます。