OctoberCMS Builder插件在前端显示数据

时间:2016-09-13 01:34:12

标签: laravel-5 octobercms

这是我第一次使用OctoberCMS,他们提供Builder Plugin以帮助开发人员在几分钟内构建插件。

我尝试使用此插件在前端显示数据,尤其是在使用Components > Builder > Record list时,但文档没有提供足够的示例来从某些字段获取数据。互联网上的例子就是展示如何从一个领域获取数据。

我的代码如下所示:

[builderList]
modelClass = "Budiprasetyo\Employees\Models\Employee"
scope = "-"
displayColumn = "name"
noRecordsMessage = "No records found"
detailsPage = "-"
detailsUrlParameter = "id"
pageNumber = "{{ :page }}"

在我的情况下,我不仅要获取"name"字段的数据,还要添加"email", "facebook"字段。

我试图把它变成:

displayColumn = "name", "email", "facebook"

但它没有返回显示的数据,我试图将它变成数组:

displayColumn = ["name", "email", "facebook"]

并且结果相同,没有显示数据。

感谢您的帮助,谢谢。

2 个答案:

答案 0 :(得分:2)

其实我不喜欢使用插件的组件。有时它不会检索任何数据。我不知道为什么可能只是因为错误的使用。 无论如何,从插件中检索数据的最佳方法是导航到代码部分,然后编写onStart()函数并开始检索数据。

function onStart()
{
$data = \Authorname\Pluginname\Models\Model::find(1);
$this['data'] = $data;
}

这样你就可以在标记部分找到一个data变量。

答案 1 :(得分:0)

在前端cms页面上,您需要使用自定义部分替换组件调用。您的部分文件应如下所示:

* podcastList是组件名称

{% set records =podcastList.records %}
{% set displayColumn =podcastList.displayColumn %}
{% set noRecordsMessage =podcastList.noRecordsMessage %}
{% set detailsPage =podcastList.detailsPage %}
{% set detailsKeyColumn =podcastList.detailsKeyColumn %}
{% set detailsUrlParameter =podcastList.detailsUrlParameter %}

{% for record in records %}
  <span class="date">{{ attribute(record, 'date') }}</span>
  <span class="title">{{ attribute(record, 'title') }}</span>
  <p>{{ attribute(record, 'description') }}</p>
{% endfor %}

显然,这是简化版,但你明白了。您可以轻松定义更多列,而无需触及页面组件设置。