在 OctoberCMS 后端表单中显示类别和子类别
Displaying categories and thei subcategories in OctoberCMS backend form
我正在开发一个使用 Builder
插件来显示项目及其类别和子类别的插件。
Item
模型与Category
和SubCategory
模型有$belongsTo
关系,Category
与[=14=有$belongsToMany
关系],我创建了一个表单,其中有一个 relation widget
来显示类别,但我不知道如何显示 selected 类别的子类别 relation widget
以及当用户select 新类别子类别下拉框中将显示不同的子类别列表。
嗯,我之前的 post 被删除了,因为我只是包含了一个 link 和一个简短的描述,但没有代码。
您要找的是“字段依赖”:
https://octobercms.com/docs/backend/forms#field-dependencies
您将无法通过 Builder 插件完成所有操作 - 您将不得不编写一些代码。这是一个例子:
您的模型的 fields.yaml 文件:
country:
label: Country
type: dropdown
state:
label: State
type: dropdown
dependsOn: country
然后,在控制器中:
public function getCountryOptions()
{
return ['au' => 'Australia', 'ca' => 'Canada'];
}
public function getStateOptions()
{
if ($this->country == 'au') {
return ['act' => 'Capital Territory', 'qld' => 'Queensland', ...];
}
elseif ($this->country == 'ca') {
return ['bc' => 'British Columbia', 'on' => 'Ontario', ...];
}
}
我正在开发一个使用 Builder
插件来显示项目及其类别和子类别的插件。
Item
模型与Category
和SubCategory
模型有$belongsTo
关系,Category
与[=14=有$belongsToMany
关系],我创建了一个表单,其中有一个 relation widget
来显示类别,但我不知道如何显示 selected 类别的子类别 relation widget
以及当用户select 新类别子类别下拉框中将显示不同的子类别列表。
嗯,我之前的 post 被删除了,因为我只是包含了一个 link 和一个简短的描述,但没有代码。
您要找的是“字段依赖”:
https://octobercms.com/docs/backend/forms#field-dependencies
您将无法通过 Builder 插件完成所有操作 - 您将不得不编写一些代码。这是一个例子:
您的模型的 fields.yaml 文件:
country:
label: Country
type: dropdown
state:
label: State
type: dropdown
dependsOn: country
然后,在控制器中:
public function getCountryOptions()
{
return ['au' => 'Australia', 'ca' => 'Canada'];
}
public function getStateOptions()
{
if ($this->country == 'au') {
return ['act' => 'Capital Territory', 'qld' => 'Queensland', ...];
}
elseif ($this->country == 'ca') {
return ['bc' => 'British Columbia', 'on' => 'Ontario', ...];
}
}