2016-09-13 1 views
0

初めてこの10月CMSを使用すると、開発者が数分でプラグインを構築できるように、Builder Pluginが提供されます。フロントエンドにデータを表示するための10CMSビルダープラグイン

特に、Components > Builder > Record listを使用しているときにこのプラグインを使用してフロントエンドのデータを表示しようとしましたが、ドキュメントでは一部のフィールドからデータを取得するのに十分な例がありませんでした。インターネット上の例は、1つのフィールドからデータを取得する方法を示しています。私の場合は

[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"] 

と、それは同じ結果です示されています。

ご協力いただきありがとうございます。

答えて

1

実際、私はプラグインのコンポーネントを使用したくありません。場合によってはデータを取得しないこともあります。私はなぜそれがちょうど間違って使用しているのか分からない。 とにかく、プラグインからデータを取得する最も良い方法は、コードセクションに移動し、onStart()関数を書いてデータを取得することです。

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

そして、この方法、あなたは、マークアップセクションでdata変数を持っています。

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 %} 

あり、これは簡易版ですが、あなたはポイントを得ます。ページコンポーネントの設定に触れることなく、より多くの列を簡単に定義できます。

関連する問題