Octobercms:如何使转发器字段成为 jsonable,因为我正在将此转发器字段创建到不同的插件中
Octobercms: How can I make a repeater field jsonable because I am creating this repeater field into a different plugin
如何制作转发器字段 jsonable 因为我正在将此转发器字段创建到不同的插件中,并且我已经创建了自己的插件。
例如:我想在 rainlab.user 插件模型中添加一个转发器字段,但我想通过我自己的插件来执行此操作,因此在 [=18= 上进行更新]插件不会影响我的工作。
谢谢
您应该阅读 Extending Plugins。
1) 首先在您的自定义 plugin.php
- Example
中注册事件
2) 将相关字段添加到您的迁移文件 - Example - 确保字段类型设置为 json
或 text
: $table->json('field_name')->nullable();
假设您要向用户模型添加一个 Dogs
转发器字段;
public function boot()
{
UserModel::extend(function($model)
{
$model->addJsonable([
'dogs',
]);
});
UsersController::extendFormFields(function($form, $model, $context){
if (!$model instanceof UserModel) {
return;
}
$form->addTabFields([
'dogs' => [
'label' => 'My Dogs',
'type' => 'repeater',
'form' => [
'fields' => [
'breed' => [
'label' => 'Breed',
'type' => 'dropdown',
'options' => [
'labrador' => "Labrador",
'cocker' => "Cocker Spaniel"
]
],
'name' => [
'label' => 'Name',
'type' => 'text',
]
],
],
],
]);
});
}
如何制作转发器字段 jsonable 因为我正在将此转发器字段创建到不同的插件中,并且我已经创建了自己的插件。 例如:我想在 rainlab.user 插件模型中添加一个转发器字段,但我想通过我自己的插件来执行此操作,因此在 [=18= 上进行更新]插件不会影响我的工作。 谢谢
您应该阅读 Extending Plugins。
1) 首先在您的自定义 plugin.php
- Example
2) 将相关字段添加到您的迁移文件 - Example - 确保字段类型设置为 json
或 text
: $table->json('field_name')->nullable();
假设您要向用户模型添加一个 Dogs
转发器字段;
public function boot()
{
UserModel::extend(function($model)
{
$model->addJsonable([
'dogs',
]);
});
UsersController::extendFormFields(function($form, $model, $context){
if (!$model instanceof UserModel) {
return;
}
$form->addTabFields([
'dogs' => [
'label' => 'My Dogs',
'type' => 'repeater',
'form' => [
'fields' => [
'breed' => [
'label' => 'Breed',
'type' => 'dropdown',
'options' => [
'labrador' => "Labrador",
'cocker' => "Cocker Spaniel"
]
],
'name' => [
'label' => 'Name',
'type' => 'text',
]
],
],
],
]);
});
}