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

以下の手順で作成していきます。
- entryモジュールの管理
- エントリーシートの作成
- 項目の設計
- エントリーコンテンツの作成
- コード記述
- アイテムコンテンツにリンクを追加
entryモジュールの管理
アイテムに紐づく申し込みには、モジュール「entry」で管理します。
1.イベント参加申し込みシートを作成
-
「ヘッダーの設定(⚙️歯車アイコン)」⇒「シート設定|モジュール」⇒「entry|シート作成」の順に設定画面を開く
-
シート作成設定
| 項目 | 選択内容・記述 | 選択・記述例 |
|---|---|---|
| アイテムシート | エントリー対象のシートを選択 | イベント |
| エントリー名称 | 適宜 | イベント参加申し込み |
| シートエイリアス | 適宜 | event-entry |
| 排他制御 | 有効/無効 | 有効 |
| 重複設定 | 許可する/禁止する | 許可する |
| ステータス(初期値) | 無効/有効 | 有効 |
- entryに紐づけることのできるモジュールはitemのみ
- 重複設定:エントリー重複(同一ユーザーが同一アイテムへエントリー)の許可 / 禁止設定
登録上限を設定するには
- シート作成後に、シート編集画面を開く
- 登録上限設定を「有効」にする
- アイテムシートで設定した項目の「整数」項目が選択肢に表示される
例)情報項目の作成で作成した「参加人数」を選択して「更新」
2. サイドメニュー表示
「イベント参加申し込み」をサイドメニューに表示させます。
参考:「サイドメニューの作成」 「3.メニューにシート追加」
3. 申し込みシートに項目作成
例)
| 項目名 | ID | 項目種別 | 選択肢 | 必須 設定 | その他 設定事項 |
|---|---|---|---|---|---|
| 氏名 | name | 文字列(1行) | 必須 | ||
| メールアドレス* | 文字列(1行) | 必須 | 項目定義:メールアドレス | ||
| 会員種別 | member | ラジオボタン | 会員 一般 | 必須 | |
| コメント | comment | 文字列(複数行) | 任意 |
*Tutorial3の「自動配信メール」で利用します。
エントリー対象情報
- 申込対象(イベント)情報は自動登録される(項目作成は不要)
コンテンツの作成
1. イベント申し込みページ(コンテンツ)
- ヘッダーの⚙️歯車アイコンから「設定」
- 「コンテンツ」を選択
- 新規作成
- コンテンツタイプ:「entry」⇒「エントリー登録」⇒「 対象シート選択」
2. コード入力
エントリー登録では1コンテンツ内に各要素のコード記載が必要
| テンプレートエンジン | コンテンツ変数 | |
|---|---|---|
| 入力画面コード | input.palette | input.html |
| エラー挿入コード | 入力画面内に記述* | error.html |
| 確認画面コード | check.palette | check.html |
| 完了画面コード | comp.palette | comp.html |
・入力画面でpage skip(フォーム開始確認画面なし)を指定した時は確認画面の記述は不要
・VScodeではコンテンツの子要素「src」内 に用意
・パレットCMS管理画面では「コンテンツ設定|テンプレート」に用意
*テンプレートエンジンのエラーコード例
入力項目のエラー(必須項目の未入力やフォーマット制限など)表示は、入力画面コード内にエラーメッセージ用コードを記述します。
@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. 動作確認
イベント申し込みが正しく行われていることを確認してください。
管理画面にデータができます。