OctoberCMS 在前端获取插件的下拉值
OctoberCMS Get plugin's Dropdown values at frontend
我使用 Builder Plugin 创建了一个插件(称之为 Product),在其中,我有一个下拉菜单(称之为 product_category(产品类别))
使用 Builder 插件,我添加了几个 Key => Value(下拉类别选项),如下所示。
添加了下拉选项:
显示下拉选项:
现在我有一个 CMS 页面(称之为 产品),我在前端展示它,我在其中展示产品列表,使用下面的代码可以正常工作。
现在我的 question/query 来了,我在前端有一个 产品类别下拉菜单 ,在同一页面中,我想获得所有的产品类别我已经使用我的生成器插件添加了。
我怎样才能得到这些?
好吧,由于 alxy 的帮助,我最终找到了解决方案,这里是我想出的。
$parser = new October\Rain\Parse\Yaml;
$fields = $parser->ParseFile('/path/to/fields.yaml');
var_dump($fields);
去here了解更多。
谢谢
您或许可以使用模型方法生成选项:
public function getProductCategoryOptions() {
return ['pet' => 'Pet',
'beauty' => 'Beauty'];
}
然后使用一个修改器:
public function getProductCategoryAttribute($value)
{
return $this->getProductCategoryOptions()[$value] ?? 'N/A'; // PHP7
}
我使用 Builder Plugin 创建了一个插件(称之为 Product),在其中,我有一个下拉菜单(称之为 product_category(产品类别))
使用 Builder 插件,我添加了几个 Key => Value(下拉类别选项),如下所示。
添加了下拉选项:
显示下拉选项:
现在我有一个 CMS 页面(称之为 产品),我在前端展示它,我在其中展示产品列表,使用下面的代码可以正常工作。
现在我的 question/query 来了,我在前端有一个 产品类别下拉菜单 ,在同一页面中,我想获得所有的产品类别我已经使用我的生成器插件添加了。
我怎样才能得到这些?
好吧,由于 alxy 的帮助,我最终找到了解决方案,这里是我想出的。
$parser = new October\Rain\Parse\Yaml;
$fields = $parser->ParseFile('/path/to/fields.yaml');
var_dump($fields);
去here了解更多。
谢谢
您或许可以使用模型方法生成选项:
public function getProductCategoryOptions() {
return ['pet' => 'Pet',
'beauty' => 'Beauty'];
}
然后使用一个修改器:
public function getProductCategoryAttribute($value)
{
return $this->getProductCategoryOptions()[$value] ?? 'N/A'; // PHP7
}