Skip to content

Commit 851e18b

Browse files
Update docs for form builder
1 parent 1d49061 commit 851e18b

File tree

2 files changed

+67
-197
lines changed

2 files changed

+67
-197
lines changed

docs/cms/form-builder-get-started.md

+67-1
Original file line numberDiff line numberDiff line change
@@ -182,4 +182,70 @@ $this
182182
- TimePickerField.php: platform/core/base/src/Forms/Fields/TimePickerField.php
183183
- TinyMceField.php: platform/core/base/src/Forms/Fields/TinyMceField.php
184184
- TreeCategoryField.php: platform/core/base/src/Forms/Fields/TreeCategoryField.php
185-
- UiSelectorField.php: platform/core/base/src/Forms/Fields/UiSelectorField.php
185+
- UiSelectorField.php: platform/core/base/src/Forms/Fields/UiSelectorField.php
186+
187+
188+
## Add more columns into existed form
189+
190+
Check this video tutorial: https://youtu.be/5PC6mzssZ70
191+
192+
Add below code into `platform/themes/[your-theme]/functions/functions.php`
193+
194+
```php
195+
use Botble\Base\Forms\Fields\TextField;
196+
use Botble\Base\Forms\FieldOptions\TextFieldOption;
197+
198+
add_filter(BASE_FILTER_BEFORE_RENDER_FORM, function ($form, $data) {
199+
if ($data instanceof \Botble\Blog\Models\Post) {
200+
$test = $data->getMetaData('test', true);
201+
202+
$form
203+
->add(
204+
'test',
205+
TextField::class,
206+
TextFieldOption::make()
207+
->label(__('Test Field'))
208+
->value($test)
209+
);
210+
}
211+
212+
return $form;
213+
}, 120, 2);
214+
215+
add_action([BASE_ACTION_AFTER_CREATE_CONTENT, BASE_ACTION_AFTER_UPDATE_CONTENT], function ($screen, $request, $data) {
216+
if ($data instanceof \Botble\Blog\Models\Post) {
217+
MetaBox::saveMetaBoxData($data, 'test', $request->input('test'));
218+
}
219+
}, 120, 3);
220+
221+
```
222+
223+
Display the value of Test field in platform/themes/[your-theme]/views/post.blade.php.
224+
225+
```php
226+
$post->getMetaData('test', true);
227+
```
228+
229+
## Modify form field
230+
231+
Example: change "Description" field in PostForm.php to rich text editor.
232+
233+
Add below code into `platform/themes/[your-theme]/functions/functions.php`
234+
235+
```php
236+
use Botble\Base\Forms\Fields\EditorField;
237+
use Botble\Base\Forms\FieldOptions\EditorFieldOption;
238+
239+
add_filter(BASE_FILTER_BEFORE_RENDER_FORM, function ($form, $data) {
240+
if ($data instanceof \Botble\Blog\Models\Post) {
241+
$form
242+
->modify(
243+
'description',
244+
EditorField::class,
245+
EditorFieldOption::make(),
246+
true);
247+
}
248+
249+
return $form;
250+
}, 120, 2);
251+
```

docs/cms/form-builder.md

-196
This file was deleted.

0 commit comments

Comments
 (0)