October CMS - 快速入门 16 - 创建简单的组件

本节将建立有关actor的组件:
首先建立一下目录结构this

clipboard.png

首先建立插件的基本功能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

clipboard.png

在首页添加演员列表component

clipboard.png

打开首页,刷新页面,发现没有任何输出,这是由于,咱们没有编写组件的HTML,因此不会有任何显示。
首先传入演员列表,并循环输出blog

{% set actors = __SELF__.actors %}


<ul>
    {% for actor in actors %}
        <li>{{ actor.name }} {{ actor.lastname }}</li>
    {% endfor %}
</ul>

刷新首页,就看见显示的演员的列表:ip

clipboard.png

到目前为止,最简单的组件咱们就建立好了,咱们能够继续扩展其功能。it

相关文章
相关标签/搜索