官方提供了一个 系统信息(SystemInfo) 插件
看上去很简单
其实是有用意的
这个插件主要演示了在controller中如何调用插件数据的用法
插件的定义中规中矩,建立config,建立了一个view
注意最后的返回值
$this->assign('server_info', $info); //这是给widget模板用的 return [ 'width' => 12, 'view' => $this->fetch('widget'), 'plugin' => 'SystemInfo' ]; //这是调用方法的返回值,谁调用就返回这个数组
插件的server_info是用在自己的widget模板中的
<volist name="server_info" id="vo"> <li><em>{$key}</em> <span>{$vo}</span></li> </volist>
调用此插件的方法写在了
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中
<div class="home-grid"> <!-- width of .grid-sizer used for columnWidth --> <div class="grid-sizer"></div> <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> </div>
最后的效果是在/admin/index/index.html的最下方
0.话题发布后没及时显示,请联系官方QQ群管理;
1.话题支持代码,qq截屏直接粘贴,和QQ群一样;
2.问题描述清,比如服务器版本,程序版本;
3.能上代码,就不用文字;
4.把问题发到话题后再发QQ群;
5.如果感觉回复者解答的不错,可以发红包!
6.多帮助别人也是对自己的锻炼!
7.付费讨论中只有提问者和付费用户才可以查看回复
1.评论积分+1;每天最多10次奖励
2.发布话题积分+1;每天最多5次奖励
3.垃圾评论积分-500;
4.黄色,暴力,违反我国法律评论直接封号