这是我第一次使用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"]
并且结果相同,没有显示数据。
感谢您的帮助,谢谢。
答案 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 %}
显然,这是简化版,但你明白了。您可以轻松定义更多列,而无需触及页面组件设置。