zoukankan      html  css  js  c++  java
  • 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最为核心的是什么?是内容管理,框架最核心的是什么?简化工作。

  • 相关阅读:
    A1052. Linked List Sorting (25)
    A1032. Sharing (25)
    A1022. Digital Library (30)
    A1071. Speech Patterns (25)
    A1054. The Dominant Color (20)
    A1060. Are They Equal (25)
    A1063. Set Similarity (25)
    电子码表
    矩阵键盘
    对象追踪、临时对象追踪、绝对坐标与相对坐标
  • 原文地址:https://www.cnblogs.com/wgphp/p/10491757.html
Copyright © 2011-2022 走看看