候補選択形式(内) †候補選択形式とは、二つ以上の候補から選択して登録するフォームパーツ全般を指します。
候補選択形式(内)は、その中でも少ない候補を持っているフォームパーツの作成に役立ちます。 今回は例として、求職者の登録情報に希望期間という項目を追加します。 デザインテンプレートを開く †まず、項目を追加したいページのテンプレートを開きます。 jobsystem/template/pc/nUser/Regist_2.html 上記のテンプレートは、未ログイン時に以下のURLから表示されるページの次のページです。 設置先のURL/regist.php?type=nUser デザイン上に項目を追加する †まず、デザイン上に項目を追加しましょう。 チェックボックス †通常のソースコードの例(ラベル付きチェックボックス) <label><input type="checkbox" name="span" value="long" /><label> ラベル付きのチェックボックスのHTMLソースは大きく分けて2通りありますが、 当システムでは、上記のようなフォームパーツを出力する為に以下のコマンドコメントを記述します。 <!--# form checkbox span long/short <br\ /> long/short/etc 長期/短期(およそ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ヶ月以内)/その他 #--> このコマンドコメントは以下のような意味を持つものです。
これを下の画像のように、選択を促すような形式に変更してみます。 <!--# form option span /long/short/etc 選択して下さい/長期/短期(およそ6ヶ月以内)/その他 #--> この修正で任意の選択が可能になり、選択しない事も可能になりました。 それでは、選択されたデータを実際にデータベースに登録できるようにしましょう。 データを格納するフィールドを設定する †まずはフィールドの設定を行います。 以下のファイルを開いてください。 jobsystem/lst/nuser.csv 以下は、このファイルのA列からG列までのデータの説明です。
今回は、登録フォームの2ステップ目で必須チェック、編集時にも必須チェックを行います。 A列にフィールド名「span」を、 ※今回の例では、必ず一番最後の行に追加して下さい。 これを保存し、FTPで以下の場所に上書きアップロードします。 設置先のURL/lst/nuser.csv アップロードが終わったら、tool.phpにアクセスしパスワードを入力し認証を行って下さい。 このままnUserのインポートをクリックすると、データが初期化(又は前回のエクスポート時点にロールバック)されてしまいます。
※項目を最後に追加する形を取っていない場合は、エクスポート後にCSVをダウンロードし、編集する必要があります 必須入力エラーを設定する †必須入力エラーの設定は、テキストエリア形式の同項目を参考にして下さい。 データを表示する †これまでの手順で、データを登録する事が出来るようになりました。 まず、登録内容の確認ページでデータを表示させる必要があります。 jobsystem/template/pc/nUser/RegistCheck.html ※求職者の登録内容の確認ページ 登録データを表示する為のコマンドコメントは以下のようなものでしたね? spanというフィールドに格納されているデータを表示する <!--# value span #--> このコマンドコメントでデータを表示した場合、下の画像のようになります。 このコマンドコメントの出力結果は正しいものですが、実際に表示したいデータは下の画像のような長期というような文字です。
上の表のように、格納されているデータと実際に表示したい文字列が違う場合は、次のコマンドコメントを使用します。 <!--# valueReplace span long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #-->
データベースに格納されているデータが1種類、longならlongだけ、shortならshortだけの場合は、このコマンドコメントで表示する事が出来たでしょう。 しかし、チェックボックスで実装し二つ以上の候補が選択された時、データベースに格納されているデータは配列になっています。 このようなケースの場合、long/shortという配列で格納されていますので、先のコマンドコメントでは表示する事ができません。 <!--# arrayReplace span <br\ /> long/short/etc 長期/短期(およそ6ヶ月以内)/その他 #--> これで、二つ以上の候補が選択された時の表示も上手く行きました。 登録確認ページのほかにも最低限、下記のファイルを修正しデータが表示されるようにして下さい。 候補選択形式(内)を持った項目の追加と、データの表示は上手くいきましたか? |