官方提供了一个 系统信息(SystemInfo) 插件
看上去很简单
其实是有用意的
**这个插件主要演示了在controller中如何调用插件数据的用法**
插件的定义中规中矩,建立config,建立了一个view
注意最后的返回值
~~~
$this->assign('server_info', $info);
return [
'width' => 12,
'view' => $this->fetch('widget'),
'plugin' => 'SystemInfo'
];
~~~
插件的server_info是用在自己的模板中的
~~~
<volist name="server_info" id="vo">
<li><em>{$key}</em> <span>{$vo}</span></li>
</volist>
~~~
最后的效果是在/admin/index/index.html的最下方
![](https://box.kancloud.cn/67452f1de7acab57f88dd27a9845100e_943x364.png)
#### **插件写好了 如何调用它呢?**
调用此插件的方法写在了
app\admin\controller\MainController.php的index方法中
该插件的return内容会在此处展现
~~~
$dashboardWidgetPlugins = [];
$hookResults = hook('admin_dashboard');
if (!empty($hookResults)) {
foreach ($hookResults as $hookResult) {
if (isset($hookResult['width']) && isset($hookResult['view']) && isset($hookResult['plugin'])) { //验证插件返回合法性
$dashboardWidgetPlugins[$hookResult['plugin']] = $hookResult;
if (!isset($dashboardWidgets[$hookResult['plugin']])) {
$dashboardWidgets[$hookResult['plugin']] = ['name' => $hookResult['plugin'], 'is_system' => 0];
}
}
}
}
$this->assign('dashboard_widget_plugins', $dashboardWidgetPlugins);
~~~
其实就是调用了插件的adminDashboard方法 返回了一个数组 包含width view plugin
在view层
themes\admin_simpleboot3\admin\main\index.html中
~~~
<foreach name="dashboard_widgets" item="vo">
<if condition="$vo.is_system">
<div class="grid-item col-md-12" data-system="1" data-widget="{$vo.name}">
<div class="dashboard-box">{:_get_system_widget($vo.name)}</div>
</div>
<else/> //这里走的else
<present name="dashboard_widget_plugins[$vo['name']]">
<div class="grid-item col-md-{$dashboard_widget_plugins[$vo['name']]['width']}" data-system="0"
data-widget="{$vo.name}">
<div class="dashboard-box">{$dashboard_widget_plugins[$vo.name]['view']}</div>
</div>
</present>
</if>
</foreach>
~~~
- php套路
- 套路之类结构
- thinkphp分块解析之Collection
- thinkphp基础之collection
- Collection在thinkphp中的运用
- thinkcmf模块分析
- Controller按界面点击顺序排列表
- user模块-Controller分析
- portal模块-Controller分析
- admin模块-Controller分析
- user模块-脑图
- portal模块-脑图
- admin模块-脑图
- cmf公共函数解析-common.php
- thinkcmf点滴记录
- 自定义标签详解
- 插件
- 系统信息插件
- 插件演示插件
- 留言板插件
- 留言板1 建立胚胎
- 留言板1-1 数据库变化
- 留言板1-2 自定义钩子
- 留言板2 连接数据库
- 留言板3 读取后台界面数据
- 留言板4 前端模板
- 留言板5 分离cssjs文件
- 留言板6 验证
- 留言板7 图形验证码
- 留言板8 后台留言列表页
- 留言板9 后记
- 评论插件
- 1 分析数据表
- 2 CommentModel.php
- 3 UserModel.php
- 4 DCommentPlugin.php
- 前端调用代码
- 喜欢插件
- 1 分析
- 2 收藏功能
- 3 插件建模
- 4 数据库设计
- 5 插入一条数据
- 多语言
- thinkphp多语言
- thinkcmf多语言