• onethink后台代码简单分析(1)


    onethink后台的入口页面同样是Index/index控制器

    首先,Index继承了AdminControllerAdminController有一个_initialize函数,这是所有后台运行的基本函数,Public控制器控制了登录页面,Public继承于Controller

    运行后台是会首先进入到Index,接着在init中跳转到登录,登录成功跳转到Index,此时会接着运行init,进行一些其他检测,完成菜单模板变量的分配,完成登录控制。

    Admininit初始化函数中,完成了UIDIS_ROOT宏的检测,UID跳转到登录页面,IS_ROOT输出403禁止访问,和未授权访问。

    接着分配__MENU__菜单变量,这个变量在模板继承中的base.html文件中使用,使用了getMenus()函数来实现。

    base.html主要定义了边栏和内容区,以及菜单和用户的修改密码,修改昵称。

    base.html中的__MENU__.main,关联的是menu这张表,这张表的url字段存储的是跳转链接,pid0的是最顶部菜单栏目,title是显示的文本内容。

    Admin控制器的getMenus()函数代码很长,初步效果是读取了menu表的数据,__MENU__.main存储了pid0的菜单

    本来以为是动态读取menu表的数据,根据表数据自动生成菜单,因为menu表中存储的有新增啦,编辑啦。接着看内容菜单Article/index,看Article/Index模板中的内容html代码,发现这些文章添加,文章删除等这些不是从Article/Index控制器中分配的变量,而是静态的HTML代码来描述这些菜单项。

    这也就解释了为什么__MENU__.main变量中的数据只有顶部菜单。

    CMS最为核心的是什么?是内容管理,框架最核心的是什么?简化工作。

  • 相关阅读:
    《黑天鹅》笔记
    《随机漫步的傻瓜》笔记
    《眨眼之间》笔记
    《陌生人效应》笔记
    《设计心理学 -- 设计未来》笔记
    《设计心理学 -- 设计情感化》笔记
    《设计心理学 -- 与复杂共处》笔记
    《引爆点》笔记
    《逆转》笔记
    《设计心理学 -- 日常的设计》笔记
  • 原文地址:https://www.cnblogs.com/wgphp/p/10491757.html
Copyright © 2020-2023  润新知