本节将创建有关actor的组件:
首先创建一下目录结构
首先创建插件的基本功能
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'
];
}
切换到后台,我们可以看见组件里面已经有了我们刚刚创建的组件了
在首页添加演员列表
打开首页,刷新页面,发现没有任何输出,这是因为,我们没有编写组件的HTML,所以不会有任何显示。
首先传入演员列表,并循环输出
{% set actors = __SELF__.actors %}
<ul>
{% for actor in actors %}
<li>{{ actor.name }} {{ actor.lastname }}</li>
{% endfor %}
</ul>
刷新首页,就看见显示的演员的列表:
到目前为止,最简单的组件我们就创建好了,我们可以继续扩展其功能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。