October CMS - 快速入门 16 - 建立简单的组件
2018-10-24 13:18:21    143    0    0
emengweb

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

首先创建插件的基本功能raiseinfo/movies/components/Actors.php

<?php 
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();
    }
}

注册组件Plugin.php

public function registerComponents()
{
    return [
        'Raiseinfo\Movies\Components\Actors' => 'actors'
    ];
}

切换到后台,我们可以看见组件里面已经有了我们刚刚创建的组件了

在首页添加演员列表

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

components/actors/default.htm

{% set actors = __SELF__.actors %}


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

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

到目前为止,最简单的组件我们就创建好了,我们可以继续扩展其功能。

上一篇: October CMS - 快速入门 17 - 为组件添加选项

下一篇: October CMS - 快速入门 15 - 通过Form Widget添加新数据

143 人读过
文档导航