首页 文章

OctoberCMS Builder插件在前端显示数据

提问于
浏览
0

这是我第一次使用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

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

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

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

  • 2

    在前端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 %}
    

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

相关问题