PbootCMS二開教程(一)新增左側菜單與頁面
第一步:后臺進入【菜單管理】
路徑(http://您的域名/admin.php?p=/Menu/index)
進入后選擇【菜單新增】
名詞解釋:
【父菜單】如果是頂級菜單,無需切換,如果需要放到哪個分類下,選擇對應分類即可
【菜單名稱】設置菜單在后臺顯示的名稱
【URL】即后臺菜單的路徑
【快捷圖標】可以到Font Awesome 中文網選擇自己喜歡的圖標(http://www.fontawesome.com.cn/icons/area-chart/)
相關內容編輯好后,點擊【立即提交】就添加成功了
添加成功后需要【退出登錄】,然后重新登錄就可以看到新增的菜單項了,完成這一步僅僅只是開始,接下來我們需要到對應文件夾下新增幾個文件,讓頁面成功的顯示出來
如果需要修改菜單信息,可以點擊【修改】進入下方頁面進行調整
第二步:嘗試在新頁面獲取日志信息
PbootCMS主要采用的是MVC模式,所以我們需要對應的增加三個文件
(MVC開始是存在于桌面程序中的,M是指業務模型,V是指用戶界面,C則是控制器,使用MVC的目的是將M和V的實現代碼分離,從而使同一個程序可以使用不同的表現形式。)
1、在路徑/apps/admin/model/system/下新增Model模型文件,文件名稱為 TongjiModel.php
為了方便測試,我們復制/apps/admin/model/system/SyslogModel.php 文件中的所有文件到新建好的控制器文件中
把:class SyslogModel extends Model 修改為:class TongjiModel extends Model
<?php /** * @copyright (C)2016-2099 Hnaoyun Inc. * @author XingMeng * @email hnxsh@foxmail.com * @date 2017年3月29日 * 日志模型類 */ namespace appdminmodelsystem; use coreasicModel; class TongjiModel extends Model { // 獲取日志列表 public function getList() { return parent::table('ay_syslog')->order('id DESC') ->page() ->select(); } // 刪除全部 public function clearLog() { return parent::table('ay_syslog')->delete(); } }
2、在路徑/apps/admin/controller/system/下新增Controller控制器文件,文件名稱為 TongjiController.php
為了方便測試,我們復制/apps/admin/controller/system/SyslogController.php 文件中的所有文件到新建好的控制器文件中,本文件主要需要修改四處
反斜杠被編輯器轉化了,請對照實際內容進行調整,主要修改名稱
把:use appdminmodelsystemSyslogModel; 修改為 use appdminmodelsystemTongjiModel;
把:class SyslogController extends Controller 修改為 class TongjiController extends Controller
把:$this->model = new SyslogModel(); 修改為 $this->model = new TongjiModel();
把:$this->display('system/syslog.html'); 修改為 $this->display('system/tongji.html');
<?php /** * @copyright (C)2016-2099 Hnaoyun Inc. * @author XingMeng * @email hnxsh@foxmail.com * @date 2017年3月29日 * 系統日志控制器 */ namespace appdmincontrollersystem; use coreasicController; use appdminmodelsystemTongjiModel; class TongjiController extends Controller { private $model; public function __construct() { $this->model = new TongjiModel(); } // 日志列表 public function index() { $this->assign('syslogs', $this->model->getList()); $this->display('system/tongji.html'); } // 清理日志 public function clear() { if ($this->model->clearLog()) { alert_location('清空成功!', url('/admin/Tongji/index')); } else { alert_location('清空失敗!', url('/admin/Tongji/index')); } } }
3、在路徑/apps/admin/view/default/system/下新增View頁面文件,文件名稱為 tongji.html
我們復制/apps/admin/view/default/system/syslog.html 里面的文件到新建好的文件中
以上就完成了MVC創建基礎流程,當然為了更好的適配環境,我們需要將這個新建的文件加入到后臺路由中,以防止部分空間因環境問題而無法訪問建好的頁面
{include file='common/head.html'} <div class="layui-body"> <div class="layui-tab layui-tab-brief" lay-filter="tab"> <ul class="layui-tab-title"> <li class="layui-this" lay-id="t1">系統日志</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <table class="layui-table"> <thead> <tr> <th>序號</th> <th>事件內容</th> <th>用戶IP</th> <th>操作系統</th> <th>瀏覽器</th> <th>用戶名</th> <th>時間</th> </tr> </thead> <tbody> {foreach $syslogs(key,value,num)} <tr> <td>[num]</td> <td>[value->event]</td> <td>{fun=long2ip($value->user_ip)}</td> <td>[value->user_os]</td> <td>[value->user_bs]</td> <td>[value->create_user]</td> <td>[value->create_time]</td> </tr> {/foreach} </tbody> </table> {if(session('ucode')==10001 && [$syslogs])} <a href="{url./admin/Syslog/clear}" class="layui-btn layui-btn-sm" onclick='return confirm("您確定要清空么?")'>清空日志</a> {/if} <div class="page">{$pagebar}</div> </div> </div> </div> </div> {include file='common/foot.html'}
4、找到/apps/common/路徑下的 route.php 文件,新增后臺路由規則
參照其他頁面的路由規則,添加好我們已經建好的新頁面規則,然后保存,后臺新增頁面流程就基本完成了
我們可以進入后臺,找到新增的菜單位置,點擊菜單選項,就可以進入到新增的對應菜單頁面了
最終效果如圖所示,當然,我是已經對接了數據庫的統計表,所以顯示的是統計表的信息
掃一掃,關注我們