OctoberCMS 在前端获取插件的下拉值

Posted

技术标签:

【中文标题】OctoberCMS 在前端获取插件的下拉值【英文标题】:OctoberCMS Get plugin's Dropdown values at frontend 【发布时间】:2017-04-30 16:13:30 【问题描述】:

我使用Builder Plugin 创建了一个插件(称为Product),在其中,我有一个下拉列表(称为product_category(产品类别))

使用 Builder Plugin,我添加了几个 Key => Value(下拉类别选项),如下所示。

添加下拉选项

显示下拉选项

现在我有一个 CMS 页面(称为 产品),我在前端显示它,并且我在其中显示产品列表,这很有效使用如下代码即可。

现在我的问题/查询来了,我在前端以及同一页面中有一个 产品类别下拉列表,我想获取我使用我的 Builder 插件添加的所有产品类别.

我怎样才能得到那些?

【问题讨论】:

【参考方案1】:

好的,伙计们,感谢alxy 的帮助,我终于找到了一个解决方案,这就是我想出的。

$parser = new October\Rain\Parse\Yaml;
$fields = $parser->ParseFile('/path/to/fields.yaml');

var_dump($fields);

更多信息请转至here。

谢谢

【讨论】:

【参考方案2】:

您可能可以使用模型方法来生成选项:

public function getProductCategoryOptions() 
    return ['pet' => 'Pet',
            'beauty' => 'Beauty'];

然后使用一个mutator:

public function getProductCategoryAttribute($value)

    return $this->getProductCategoryOptions()[$value] ?? 'N/A';  // php7

【讨论】:

这样就可以了。但是,我有一个从 yaml 文件中获取数据的场景,因此我想出了一个通过加载 yaml 文件数据的解决方案。赞赏。谢谢。

以上是关于OctoberCMS 在前端获取插件的下拉值的主要内容,如果未能解决你的问题,请参考以下文章

在设置表单上设置默认值在 Octobercms 中返回 null

在 OctoberCMS 插件中使用 Omnipay

使用静态页面插件在 OctoberCMS 上导航

OctoberCMS:如何在 Rainlab.User 插件中通过电子邮件设置用户帐户激活?

使用带有静态页面插件的前端编辑器

带有 SEO 插件的 OctoberCMS 翻译插件不会翻译 CMS 页面和博客的 SEO 关键字