-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsample-form.php
More file actions
200 lines (197 loc) · 9.18 KB
/
Copy pathsample-form.php
File metadata and controls
200 lines (197 loc) · 9.18 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
<?php
/**
* [Config] AddConfig
*
* @link https://github.com/BigFly3/AddConfig
* @author BigFly3
* @package AddConfig
* @license MIT
*/
$config['AddConfig']['name'] = 'サンプル入力フォーム'; //ナビやタイトルで表示する名称
$config['AddConfig']['debug'] = true; //無駄なデータが誤って登録されないようにデバッグモードにしています。
$config['AddConfig']['form'][] = [ //['form'][0],['form'][1]のようにすれば表示順番を設定することもできます。
'titleBefore' => 'titleBeforeは見出しの前に挿入され、アコーディオンに含まれない形で表示されます。',
'title' => '使用できるformヘルパー(input)のパーツサンプル',
'titleAfter' => '$addConfigに登録出来るものは、単一の値のみなので、配列データになってしまうマルチチェックボックスなどは使えません。<br>複数選択を使いたい場合はformpartsにあるselect-txtなどを使ってください。' ,
'tableAfter' => 'テーブルの後に表示できる領域です。' ,
'fields' => [
'text01' => [ //フォームのnameになります 既存のconfig名と被らないよう注意する
'required' => true, //フォームに必須項目のマークをつける
'label' => 'テキストフォーム', //テーブルの項目
'inputAfter' => '"counter"=>trueを指定すると文字数がカウントできます。<br>maxlengthが指定されていると最大文字数も表示されます。<br>idが指定されているとカウンターの表示ができないみたいです。',
'parts' => [
'type' => 'text',
'size'=>'55',
'placeholder' => '例: 090-1111-1111',
'counter' => true,
'maxlength' => 20
],
'validate' => [
[
'rule' => 'notBlank',
'message' => '入力してください'
],
],
],
'textarea01' => [
'required' => true, //フォームに必須項目のマークをつける
'label' => 'テキストエリア',
'labelAfter' => '必須マークはvalidateと紐づいていません。<br>"required"=>"true"をつけてください。',
'parts' => [
'type' => 'textarea',
'rows' => '5',
'cols' => '60',
'counter' => true,
//'maxlength' => 255,
'placeholder' => '例: 渋谷区渋谷1-1-1 ○○ビル5階',
],
'validate' => [
[
'rule' => 'notBlank',
'message' => '入力してください'
],
[
'rule' => ['maxLength', 255],
'message' => '255文字以内で入力してください'
],
],
],
'select01' => [
'label' => 'セレクト',
'parts' => [
'type' => 'select',
//'default' => 'value03', //デフォルトで選択する場合
'empty' => "選択してください", //空要素
'options' => [
'value01' => '選択1',
'value02' => '選択2',
'value03' => '選択3',
'value04' => '選択4'
],
],
'validate' => [
[
'rule' => ['notBlank'],
'message' => '選択してください'
],
],
],
'radio01' => [
'label' => 'ラジオ',
'parts' => [
'type' => 'radio',
'default' => 'value04',
'options' => [
'value01' => '選択1',
'value02' => '選択2',
'value03' => '選択3',
'value04' => '選択4'
],
],
],
'checkbox01' => [
'label' => '単一チェックボックス',
'labelAfter' => '※複数選択チェックはできない',
'parts' => [
'type' => 'checkbox',
'label' => 'メルマガ配信を希望します',
'style' => 'padding:5px;height:auto;',
'hidden' => false
],
'inputAfter' => 'ヘルパーのデフォルトだと未選択はvalue=0のhiddenが埋め込まれています。<br>必要ない場合はhidden=>falseを入れる必要があります。',
],
'file01' => [
'label' => 'ファイル',
'inputAfter' => 'ファイルを選択するとファイル名が登録されるますが、画像はアップロードされないのでここでは基本使いません。<br>拡張して実装してある"type"=>"upload"の方を使ってください。',
'parts' => [
'type' => 'file',
],
],
'editor01' => [
'label' => 'エディタ',
'inputBefore' => '$siteConfig["editor"]で設定しているエディタを指定できます。',
'inputAfter' => '草稿は使用出来ません',
'parts' => [
'type' => 'editor',
],
],
'datepicker01' => [
'label' => '日付入力',
'inputBefore' => 'BcFormで拡張されたパーツです',
'inputAfter' => 'フォーカスをあてるとウィジェットが表示されます',
'parts' => [
'type' => 'datepicker',
],
'validate' => [
[
'rule' => '/^\d{4}\/\d{2}\/\d{2}$/',
'message' => '日付フォーマットが正しくありません'
],
],
],
'dateTimePicker01' => [
'label' => '日付時刻入力',
'inputBefore' => 'BcFormで拡張されたパーツです',
'inputAfter' => 'フォーカスをあてるとウィジェットが表示されます<br>このフォームは日付/時刻/日時のそれぞれ3パターンのデータが保存されるみたいです。',
'parts' => [
'type' => 'dateTimePicker',
],
],
]
];
$config['AddConfig']['form'][] = [
'title' => '拡張系のフォームパーツ',
'tableAfter' => 'ここに表示しているフォームパーツは/AddConfig/Config/sample-form.phpの設定で作成されたものです。' ,
'fields' => [
'upload01' => [
'label' => 'アップロード',
'inputBefore' => 'baserCMSのアップロード機能を使ってアップロードできます。',
'inputAfter' => '既存で登録されているファイルを選択することもできます。<br>',
'parts' => [
'type' => 'upload',
],
'help' => 'ファイル形式 gif,jpg,png<br>推奨サイズは幅1200×高さ630です。<br>削除などはアップロード管理から行ってください。'
],
'multicheck01' => [
'label' => 'マルチ選択',
'inputBefore' => '配列系のデータを登録したいときに使います<br>\'1\',\'2\',\'3\'のような登録形式になります。',
'inputAfter' => 'ヘルパーの$this->AddConfig->explodeArray("キー名")で配列に変換して使用してください。',
'parts' => [
'type' => 'element',
'file' => 'select-text',
//'options' => ['1' => '山田','2' => '佐藤', '5' => '高橋','7' => '橋本']
//'options' => ['山田','佐藤', '高橋','橋本']
'options' => ['山田' => '山 田','佐藤' => '佐 藤', '高橋' => '高 橋','橋本' => '橋 本']
],
],
'pref01' => [
'label' => '都道府県',
'inputBefore' => 'BcForm->prefTag()をaddConfigで使えるようにしたものです。',
'inputAfter' => 'デフォルトだとoptionsは id=>県名 の形ですが、convertKey=>trueにすると 県名=>県名 になります。',
'parts' => [
'type' => 'element',
'file' => 'pref',
'convertKey' => true
],
],
'colorpicker01' => [
'label' => 'カラーピッカー',
'inputBefore' => 'テーマ設定にあるカラーピッカーを移植したものです',
'inputAfter' => '',
'parts' => [
'type' => 'element',
'file' => 'colorpicker',
'size' => 8,
],
],
'markdown01' => [
'label' => 'マークダウンエディタ',
'inputBefore' => '',
'inputAfter' => 'ヘルパーは$this->AddConfig->md("キー名")を使用してください。',
'parts' => [
'type' => 'element',
'file' => 'markdown',
],
],
],
];