博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ecmall 挂件显示方法
阅读量:4981 次
发布时间:2019-06-12

本文共 1941 字,大约阅读时间需要 6 分钟。

Ecmall 的挂件是怎么显示的常常让人很费解:明明看到源码中首页调用的index.html中什么内容也没有,但前台就是一堆的挂件就显示出来了,究竟是什么回事呢,让我们来揭开ecmall挂件在首页中显示的神秘面纱。

1.挂件widgets    在目录data  的page_config 目录的中 比如首页生成的挂件是default.index.config.php

2.  挂件语句解析:  

return array (

  'widgets' =>      

  array (

    '_widget_513' =>                      //挂件名称

    array (

      'name' => 'best_goods',              //挂件类型  (精品推荐)

      'options' => NULL,

    ),

  ),

  'config' =>

  array (

    'top_left' =>                            

        $controller =& cc();

        $controller->display_widgets($arr);

    }

 frontend.base.php 文件中 函数:

 display_widgets($options)

 中 调用  

   

        $widgets = get_widget_config($this->_get_template_name(), $page);

 

d) wedget.base.php 文件中的函数:

     get_widget_config

   调用 default.index.config.php 文件;

    $config_file = ROOT_PATH . '/data/page_config/' . $template_name . '.' . $page . '.config.php';

     这里 $template_name 值为default

       而   $page值为index所以生成default.index.config.php文件。

 

e)挂件解析会解析两步:

   1. 首先将 <!--{

widgets page=index area=top_left}--> 解析为:

           <?php $this->display_widgets(array('page'=>'index','area'=>'top_left')); ?>

   2. 读取以上挂件数组中数据生成网页可识别的标准数据:

          

    <div id="_widget_513" name="best_goods" widget_type="widget" class="widget">

         <div class="module_common">

            <h2><b class="best_item" title="BEST ITEM精品推荐"></b></h2>

            <div class="wrap">

               <div class="wrap_child">

                 <div class="recommend">

                     <ul class="list_pic"> </ul>

                 </div>

              </div>

            </div>

        </div>

    </div>

 

 

 

 

 

首页布局样式图:

 

|---content--------------------right---------------------------------

|                       |                                |                                 |

|                       |                            |                                |

| top_left           |      cycle_image     |     sales                    |

|                       |-------------------------------------------------|

|                       |                                                          |

|                       |        top_right                                        |

|----------------|-------------------------------------------------|                                                                  |

|       banner                                                             |

|----------content-------------------------------------------------|

|                   |                                                       |

|    bottom_left  |    bottom_right                                 |

|------------------------------------------------------------------|

|                                                                           |

|    bottom_down                                                          |

|------------------------------------------------------------------|

转载于:https://www.cnblogs.com/sorvey/archive/2012/07/09/2582289.html

你可能感兴趣的文章
ThreadLocal的应用与实现原理
查看>>
Ubuntu用sudo apt-get update出错:E: Problem executing scripts APT::Update::Post-Invoke-Success
查看>>
异常处理与内建模块
查看>>
Linux系统下搭建FTP/SFTP服务器
查看>>
获取手机信息(UIDevice、NSBundle、NSLocale)
查看>>
函数sprintf真好用
查看>>
网络欺诈防范
查看>>
JAVA入门——Generic/泛型
查看>>
【转】iOS笔记-自定义控件(OC)
查看>>
fiddler手机安装证书报错 无法安装该证书 因为无法读取该证书文件
查看>>
css框架,一把锋利的剑
查看>>
模板—插头dp(Ural 1519 Formula 1)
查看>>
浏览器缓存
查看>>
JQ应用第3款:返回顶部、底部、微信、反馈我们共存
查看>>
【安全】requests和BeautifulSoup小试牛刀
查看>>
集群高可用之lvs
查看>>
其实你可以这样折腾java enum
查看>>
c++ bitset 操作
查看>>
Hadoop学习历程(二、配置)
查看>>
【翻译】自定义 UIViewController Transitions
查看>>