zoukankan      html  css  js  c++  java
  • zencart 具体页面调用规则: $body_code变量解析

    zencart $body_code变量解析

    修改centerColumn

    可以修改中间产品方框的大小

    2.2.5 、BODY文件在这个文件生效 require($body_code)

    includes/modules/pages/index/main_template_vars.php

    clip_image081

    zencart具体页面调用:先看modules/pages/。下存不存在main_template_vars.php这个妖精文件有就 先迷惑调用这 不然就模版下templates/tpl_X_default.php

    如果目录下存在  /public_html/includes/modules/pages/index/main_template_vars.php 就调用main_template_vars.php这文件 

    不存在的话就  /public_html/includes/templates/mytemplate/templates/tpl_index_default.php文件

    如果目录下存在  /public_html/includes/modules/pages/faq/main_template_vars.php 就调用main_template_vars.php这文件 

    不存在的话就  /public_html/includes/templates/mytemplate/templates/tpl_faq_default.php文件

    在文件includes emplates模板common pl_main_page.php 文件里面有$body_code这样一个变量,他具体什么意思,可能很多人不知道.但是从他字面的意思,可以知道他大概什么意思.我们知道,zencart系统默认的页面结构是上 中(左中右), 下,而这个变量所处的位置就是左中右的中间部分,也就是夹在左右边框的中间. 
    这个变量其实是一个文件路径, require($body_code); 这样调用意思就是加载这个文件.而这个变量则来源,includes emplates模板commonmain_template_vars.php 文件 (没有的话在默认模版下)


     
      if (file_exists(DIR_WS_MODULES . 'pages/' . $current_page_base . '/main_template_vars.php')) { 
       $body_code= DIR_WS_MODULES . 'pages/' . $current_page_base . '/main_template_vars.php'; 
      } else { 
        $body_code= $template->get_template_dir('tpl_' . preg_replace('/.php/',  '',$_GET['main_page']) . '_default.php',DIR_WS_TEMPLATE,  $current_page_base,'templates'). '/tpl_' . $_GET['main_page'] .  '_default.php'; 
      } 
    它的意思就是,如果当前页面的目录下面存在main_template_vars.php这个文件,则页面的$body_code就引用该文件做为中体文件的内容来加载,否则就直接引用模板目录下的/tpl_当前页面_default.php文件. 


    举 个例子来说,

    比如访问地址中包含 index.php?main_page=index

    的页面,那么页面的主体部分,也就是中间部分引用的是 includesmodulespagesindexmain_template_vars.php  这个文件,因为includesmodulespagesindex目录下面有main_template_vars.php这个文件. 

    但 是如果我们访问页面index.php?main_page=products_all 

    这个页面的话,那么他的主体部分加载的则是includes emplates模板 emplates tpl_products_all_default.php这个文件,因为includesmodulespagesproducts_all 目录下面没有main_template_vars.php这个文件. 
    了解这点对于修改模板很有帮助,比如要修改某个页面的主体部分的话,首 先要想到的是查找includes/moduless/pages/页面名字这个目录下面的main_template_vars.php这个文件.如果 没有这个文件,那就找到includes emplates模板 emplates pl_当前页面_default.php.熟悉这个流程,就 可以快速的定位需要修改的地方所在的文件路径.

  • 相关阅读:
    Android官方命令深入分析之bmgr
    Android官方命令深入分析之AVD Manager
    Android 官方命令深入分析之android
    token的设置与获取
    SpringBoot使用Redis共享用户session信息
    thymeleaf资源加载问题(从Controller跳转)
    ajax传递数组,后台更新
    BootStrap表单验证用户名重复
    hadoop3.x.x错误解决
    Hadoop安装
  • 原文地址:https://www.cnblogs.com/alex-13/p/3683216.html
Copyright © 2011-2022 走看看