候補選択形式(内)

候補選択形式とは、二つ以上の候補から選択して登録するフォームパーツ全般を指します。

候補選択形式(内)は、その中でも少ない候補を持っているフォームパーツの作成に役立ちます。
これは「期間」のような項目の事です。

少ない候補を持ったフォームパーツの例、期間

今回は例として、求職者の登録情報に希望期間という項目を追加します。
候補選択形式の項目の追加は以下のような手順で行います。

デザインテンプレートを開く

まず、項目を追加したいページのテンプレートを開きます。
今回は、求職者の登録項目を追加しますので、下記のテンプレートを開きます。

jobsystem/template/pc/nUser/Regist_2.html

上記のテンプレートは、未ログイン時に以下のURLから表示されるページ次のページです。

設置先のURL/regist.php?type=nUser

デザイン上に項目を追加する

まず、デザイン上に項目を追加しましょう。

チェックボックス

デザイン上に項目を追加した例

通常のソースコードの例(ラベル付きチェックボックス)

<label><input type="checkbox" name="span" value="long" /><label>

ラベル付きのチェックボックスのHTMLソースは大きく分けて2通りありますが、
当システムでは、labelタグ内にフォームパーツを出力します。

当システムでは、上記のようなフォームパーツを出力する為に以下のコマンドコメントを記述します。

<!--# form checkbox span long/short <br\ /> long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

このコマンドコメントは以下のような意味を持つ物です。

  1. フォームパーツを出力しなさい
  2. チェックボックス形式で出力しなさい
  3. フィールド名はspanにしなさい
  4. longとshortが選択された状態で出力しなさい
  5. inputタグの直後に改行コード(br)を付けなさい
  6. 送信時はlong/short/etcのデータを渡しなさい
  7. 候補は長期/短期(およそ6ヶ月以内)/その他で表示しなさい
<!--# form checkbox span   long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

選択された状態を無しにし、inputタグの直後に何も付与しない場合は上記のように
フィールド名と送信データの間に半角スペースを三つ挿入します。

ラジオボタン

ラジオボタンの例

チェックボックスで書いたコマンドコメントを、少し修正すると簡単にラジオボタンに変更できます。
以下は、チェックボックスを出力する時に使ったコマンドコメントです。

<!--# form checkbox span long/short <br\ /> long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

このコマンドコメントを以下のように修正して下さい。

<!--# form radio span long <br\ /> long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

「チェックボックスを出力しなさい」といコードを、「ラジオボタンを出力しなさい」と書き換えました。

そして、ラジオボタンは候補から一つを選ぶ物ですから、最初から選択しておく候補を一つに減らしました。

セレクトボックス

セレクトボックスの例

セレクトボックスを出力するコマンドコメントは少し違います。
以下のコマンドコメントの例を見てください。

<!--# form option span long long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

このコマンドコメントは以下のような意味を持つものです。

  1. フォームパーツを出力しなさい
  2. セレクトボックス形式で出力しなさい
  3. フィールド名はspanにしなさい
  4. longが選択された状態で出力しなさい
  5. 送信時はlong/short/etcのデータを渡しなさい
  6. 候補は長期/短期(およそ6ヶ月以内)/その他で表示しなさい

これを下の画像のように、選択を促すような形式に変更してみます。

選択を促すセレクトボックスの例
<!--# form option span  /long/short/etc 選択して下さい/長期/短期(およそ6ヶ月以内)/その他 #-->

この修正で任意の選択が可能になり、選択しない事も可能になりました。
又、選択されていない状態がある事で、選択の必須チェックも行えます。

選択されていないときにエラーを出力する例

それでは、選択されたデータを実際にデータベースに登録できるようにしましょう。

 

データを格納するフィールドを設定する

まずはフィールドの設定を行います。

以下のファイルを開いてください。

jobsystem/lst/nuser.csv
求職者のフィールド設定ファイルをエクセルで開いた例

以下は、このファイルのA列からG列までのデータの説明です。

A列B列C列D列E列F列G列
フィールド名データ型文字列の長さ登録時必須チェック編集時必須チェック入力内容チェック登録ステップ

今回は、登録フォームの2ステップ目で必須チェック、編集時にも必須チェックを行います。

spanというフィールドを設定した例

A列にフィールド名「span」を、
B列にはデータ型「string」を、
C列は文字列の制限ですので空白のまま、
D列に登録時に必須チェックを行う事を意味する「Null」を、
E列に編集時に必須チェックを行う事を意味する「Null」を、
F列の正規表現による入力内容チェックは行わないので空白のまま、
G列の登録ステップは「2」を、それぞれ入力して下さい。

※今回の例では、必ず一番最後の行に追加して下さい。

これを保存し、FTPで以下の場所に上書きアップロードします。

設置先のURL/lst/nuser.csv

アップロードが終わったら、tool.phpにアクセスしパスワードを入力し認証を行って下さい。
初期パスワードはreadme.txtを確認してください。

tool.phpからデータの再構築を行う

このままnUserのインポートをクリックすると、データが初期化(又は前回のエクスポート時点にロールバック)されてしまいます。
今回は現時点のデータを維持したまま、フィールドをセットし直したいだけなので、以下の手順で行います。

  1. nUserエクスポートをクリックし、SQLデータベースの内容をサーバー上でデータを書き出します
  2. その後、nUserインポートをクリックし、もう一度SQLデータベースにデータを流し込みます

※項目を最後に追加する形を取っていない場合は、エクスポート後にCSVをダウンロードし、編集する必要があります
※既存データの位置に変更が入らない場合のみ、上記の手順を行う事ができます
※この手順を行った場合は、作業後にFTPからtdb以下のnuser.csvを削除しましょう。もしくはアクセス制限を掛けておく
※既に運営中のサイトで作業を行う場合は、細心の注意が必要です。

必須入力エラーを設定する

必須入力エラーの設定は、テキストエリア形式の同項目を参考にして下さい。

 

データを表示する

これまでの手順で、データを登録する事が出来るようになりました。
それでは、登録したデータを表示させる為に、当労苦したデータに関連するテンプレートを修正しましょう。

まず、登録内容の確認ページでデータを表示させる必要があります。
登録内容の確認ページのテンプレートは以下のファイルです

jobsystem/template/pc/nUser/RegistCheck.html ※求職者の登録内容の確認ページ

登録データを表示する為のコマンドコメントは以下のようなものでしたね?

spanというフィールドに格納されているデータを表示する

<!--# value span #-->

このコマンドコメントでデータを表示した場合、下の画像のようになります。

コマンドコメントでデータを表示した例

このコマンドコメントの出力結果は正しいものですが、実際に表示したいデータは下の画像のような長期というような文字です。

データの置換を行って表示した例
データベースに格納されている文字列longshortetc
実際に表示したい文字列長期短期(およそ6ヶ月以内)その他

上の表のように、格納されているデータ実際に表示したい文字列が違う場合は、次のコマンドコメントを使用します。

<!--# valueReplace span long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

データベースに格納されているデータが1種類、longならlongだけ、shortならshortだけの場合は、このコマンドコメントで表示する事が出来たでしょう。

しかし、チェックボックスで実装し二つ以上の候補が選択された時、データベースに格納されているデータは配列になっています。

データベースに配列で格納される例

このようなケースの場合、long/shortという配列で格納されていますので、先のコマンドコメントでは表示する事ができません。
そこで、格納されているデータが配列になる場合は以下のコマンドコメントを用いて表示します。

<!--# arrayReplace span <br\ /> long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->

これで、二つ以上の候補が選択された時の表示も上手く行きました。

二つ以上の候補が選択された時の表示例

登録確認ページのほかにも最低限、下記のファイルを修正しデータが表示されるようにして下さい。
※そのデータを表示する必要があるページの修正を行って下さい。

候補選択形式(内)を持った項目の追加と、データの表示は上手くいきましたか?

 
 

カスタマイズしよう!の表紙にもどる

トップ   新規 一覧 単語検索 最終更新   最終更新のRSS