本节将建立有关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