本節將建立有關actor的組件:
首先建立一下目錄結構this
首先建立插件的基本功能spa
namespace Raiseinfo\Movies\Components; use Cms\Classes\ComponentBase; use Raiseinfo\Movies\Models\Actor; class Actors extends ComponentBase { public $actors; public function componentDetails() { // TODO: Implement componentDetails() method. return [ 'name' => 'Actor List', 'description' => 'List of actors' ]; } public function onRun() { $this->actors = $this->loadActors(); } protected function loadActors() { return Actor::all(); } }
註冊組件插件
public function registerComponents() { return [ 'Raiseinfo\Movies\Components\Actors' => 'actors' ]; }
切換到後臺,咱們能夠看見組件裏面已經有了咱們剛剛建立的組件了code
在首頁添加演員列表component
打開首頁,刷新頁面,發現沒有任何輸出,這是由於,咱們沒有編寫組件的HTML,因此不會有任何顯示。
首先傳入演員列表,並循環輸出blog
{% set actors = __SELF__.actors %} <ul> {% for actor in actors %} <li>{{ actor.name }} {{ actor.lastname }}</li> {% endfor %} </ul>
刷新首頁,就看見顯示的演員的列表:ip
到目前爲止,最簡單的組件咱們就建立好了,咱們能夠繼續擴展其功能。it