当前位置:首页 > CMS系统 > pbootcms > PbootCMS二开教程(一)新增左侧菜单与页面

PbootCMS二开教程(一)新增左侧菜单与页面

鲁豫2年前 (2022-07-26)pbootcms2091

第一步:后台进入【菜单管理】

路径(http://您的域名/admin.php?p=/Menu/index)

进入后选择【菜单新增】

名词解释:

【父菜单】如果是顶级菜单,无需切换,如果需要放到哪个分类下,选择对应分类即可

【菜单名称】设置菜单在后台显示的名称

【URL】即后台菜单的路径

【快捷图标】可以到Font Awesome 中文网选择自己喜欢的图标(http://www.fontawesome.com.cn/icons/area-chart/)


相关内容编辑好后,点击【立即提交】就添加成功了

添加成功后需要【退出登录】,然后重新登录就可以看到新增的菜单项了,完成这一步仅仅只是开始,接下来我们需要到对应文件夹下新增几个文件,让页面成功的显示出来

image.png

如果需要修改菜单信息,可以点击【修改】进入下方页面进行调整

image.png

第二步:尝试在新页面获取日志信息

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 文件,新增后台路由规则

参照其他页面的路由规则,添加好我们已经建好的新页面规则,然后保存,后台新增页面流程就基本完成了

我们可以进入后台,找到新增的菜单位置,点击菜单选项,就可以进入到新增的对应菜单页面了

image.png

最终效果如图所示,当然,我是已经对接了数据库的统计表,所以显示的是统计表的信息

image.png


文章出处: 阅读原文

版权声明:本文由微站Blog发布,如需转载请注明出处。

免责声明:微站技术博客所有资料搜集整理于互联网或者网友提供,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。资料获取后24小时内请删除资料,不得用于任何商业用途。否则后果自负!博主不保证资料的安全性!也不承担任何责任!切勿用博主分享的任何资料运营!

本文链接:http://ys.vzcc.cc/post/78.html

分享给朋友:

评论列表

访客
访客 IP:
3个月前 (07-07)

经典,收藏了!http://0qt7z.taoyuansj.com/

访客
访客 IP:
3个月前 (07-07)

读了楼主的帖子,顿时马桶就通了。。。http://baodiyangzhi.com/news/tgod.html/

访客
访客 IP:
3个月前 (07-07)

我回帖楼主给加积分吗?http://r5mu.bin-rui.com/

访客
访客 IP:
3个月前 (07-08)

回帖也有有水平的!http://t09.jhwzjly.cn/

访客
访客 IP:
3个月前 (07-08)

这个帖子会火的,鉴定完毕!http://3bi.net/post/656.html/

发表评

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。