prestashop1.6.1.0控制器的run方法


          1. 控制器  ----2.后台控制器、2.前台控制器--3.后台模块控制器,3.前台模块控制器--
           ---4.用户可访问的前台页面控制器,4.员工可访问的后台页面控制器。
 这4级控制器是单继承关系。遵循系统的一系列规范,这些规范以后分析??????????
 (???????带多个问号的文字,是提醒以后要重点进行分析完善的地方,这一系列的文字主要针对
 系统功能进行重点分析,了解,目的是深入了解设计意图及深刻理解系统的参数,变量等。
 还有另外的一系列的文章,重点在于分析、了解系统的业务模式、操作流程。
 最后,可能还会有一系列的文章,重点分析,
 了解此系统在实际运营、2次开发,运营维护中,
 在nginx,centos,https,云环境下的一些操作准则及合理的配置系统参数。
 包括第三方的接口:微信,移动端等erp、聚合数据,信息采集,办公管理,库房,物流接口。
 )
          
 
             
========控制器的执行顺序   start====
             __construct
             init()
             setMedia()
             postProcess()
             redirect()
             initHeader()
             initContent()
             initFooter()
             displayAjax()
             display()
  ========控制器的执行顺序  end====
 
  ============后台控制器的简单分析  start========
               __construct           是否从正确的目录入口登陆,初始化一些参数,如:主题页面,店铺环境等
                                            _conf参数数组:后台控制器操作后的提示信息
                                  initShopContext()         设置店铺环境
                                  
                                  
               init()          员工900秒未操作,退出登陆,否则,记录最后操作的时间$this->context->cookie->last_activity = time();
                                 也就是说,只要员工申请了任何的后台控制器进行操作,就会记录这个操作的时间,并更新到cookie
                                 (这个值是什么时候,需不需要同步到数据库,后面分析????????????)
                                 检查员工是否登录
                                 ajaxPreProcess()
                                 Employee::setLastConnectionDate($this->context->employee->id);员工最后连接系统的时间,记录到日志
                                  initProcess();根据get或post过来的值,调用控制器中的相应方法进行处理。
                                                      如:增加,修改,删除,批量处理,导入导出等,有自己的规范????????
                                 initBreadcrumbs();后台页面的一些导航栏路标。
                                 initModal()  这个是登陆到prestashop(在没有歧义的情况下,以后简称presta或ps)网站的插件,
                                                   开发环境可以打开,生产环境在国内的话要关闭,会影响速度。
                                                 如果对系统核心进行了2次开发或修改,保险起见的话,最好关闭。
             setMedia()        加载后台主题的一些资源文件,如:样式表,jquery文件,一些插件等。属于核心资源吧。
                                      不打算对核心进行2次开发的话,这些最好不要修改。可以用增加模块的方式,载入自己的资源文件
             postProcess()     对action过来的值进行处理的方法,对 initProcess()的加强,有自己的规范????????
             redirect()
             initHeader()         对后台主题模板中的smarty模板,初始化变量。有哪些重要的smarty变量????????
             initContent()          这个也是初始化smarty模板的变量,给所有默认的 views, list and form,以及调用其他的初始化函数
                                viewAccess()               权限
                                getLanguages();          语言
                                initToolbar();               对于默认的action,初始化smarty模板变量toolbar_btn,
                                                                   否则,使用重写override到指定的add, modify or remove等toolbar中的选项items?????????
                                initTabModuleList();    Init tab modules list and add button in toolbar
                                                                    初始化标签模块清单列表,在toolbar工具栏中增加按钮???????????
                                initPageHeaderToolbar(); 在后台页面的头部增加工具栏?????????????
             initFooter()             Assign smarty variables for the footer
             displayAjax()        用ajax时,smarty调用这个模板布局 layout-ajax.tpl,主要是为了传递数据或者一些状态参数值。
                                         去掉了页面的头尾及一些脚本。默认数据格式为json。
             display()               这个是呈现后台职员调用的页面。displayAjax() 在配置好一些参数后,最后也调用这个方法显示页面。
                                          这个页面,调用了好多个smarty模板。具体的一些常用,重要的模板,写在后面的文章里。?????????
             
 ==========后他控制器的简单分析  end========

转载于:https://my.oschina.net/u/2615982/blog/608853

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值