全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Ecmall挂件开发实质上是后台开发很多页面,分别去调用程序展示这些页面,达到首页内容更换很快的目的,这样做减少后续开发,开发人员只需开发挂件就可以了,至于位置可随意定.(还需调整html,但是起码后台取数据不用做了) 流程介绍: 1:ecmall模板页面调用widget页面(整个过程比较复杂) 参数:page:指明页面是index页面 Area:指明显示的区域。(相当于告诉程序生成的页面是放在那里的) 2:经过ecmall模板引擎重新生成一个临时php文件,上面那句代码被解析成这样的php代码。 | display_widgets(array(page=index,area=cycle_image); ? 3:查看下display_widgets()方法的源码 /* * 视图回调函数显示小挂件 * * author Garbin * param array $options * return void */ function display_widgets($options) $area = isset ( $options area ) ? $options area : ; $page = isset ( $options page ) ? $options page : ; if (! $area | ! $page) return; include_once (ROOT_PATH . /includes/widget.base.php); /* 获取该页面的挂件配置信息 */ $widgets = get_widget_config ( $this-_get_template_name (), $page ); /* 如果没有该区域 */ if (! isset ( $widgets config $area ) return; /*将该区域内的挂件依次显示出来 */ foreach ( $widgets config $area as $widget_id ) $widget_info = $widgets widgets $widget_id; $wn = $widget_info name; $options = $widget_info options; $widget = & widget ( $widget_id, $wn, $options ); $widget-display (); /* * 获取当前使用的模板名称 * * author Garbin * return string */ function _get_template_name() return default; /* * 获取指定风格,指定页面的挂件的配置信息 * * author Garbin * param string $template_name * param string $page * return array */ function get_widget_config($template_name, $page)/default index static $widgets = null; $key = $template_name . _ . $page; if (!isset($widgets$key) $tmp = array(widgets = array(), config = array(); $config_file = ROOT_PATH . /data/page_config/ . $template_name . . . $page . .config.php; if (is_file($config_file) /* 有配置文件,则从配置文件中取 */ $tmp = include_once($config_file); $widgets$key = $tmp; return $widgets$key; /* * 获取挂件实例 * * author Garbin * param string $id * param string $name * param array $options * return Object Widget */ function &widget($id, $name, $options = array() static $widgets = null; if (!isset($widgets$id) $widget_class_path = ROOT_PATH . /external/widgets/ . $name . /main.widget.php; $widget_class_name = ucfirst($name) . Widget; include_once($widget_class_path); $widgets$id = new $widget_class_name($id, $options); return $widgets$id; /* * 显示 * * author Garbin * param none * return void */ function display() echo $this-get_contents(); /* * 将取得的数据按模板的样式输出 * * author Garbin * return string */ function get_contents() /* 获取挂件数据 */ $this-assign(widget_data, $this-_get_data(); /*可能有问题*/ $this-assign(options, $this-options); $this-assign(widget_root, $this-widget_root); return $this-_wrap_contents($this-fetch(widget); 实例开发: 1:在页面上添加要展示的页面模块 2:修改工程目录下/data/page_config/default.index.config.php添加该模块的相关信息 widgets = array ( _widget_1000 = array ( name = test, options = array ( ad_image_url = data/files/mall/template/200908070207084061.gif, ad_link_url = , ), ), ), config = array( bottom_foot = array ( 0 = _widget_1000, ), ), 3:在工程目录external/widgets建name(跟上面定义的name要一致)目录,然后再建文件main.widget.php class TestWidget extends BaseWidget var $_name = test; function _get_data() $test_mod=&m(test); $users=$test_mod-getAll(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 辣椒疫病综合防治技术方案
- 产妇产后伤口护理标准操作规范
- 自然灾害应急预案演练方案
- 颈椎牵引理疗技术操作规程
- 公积金管理中心年终工作总结
- 危化品车辆泄漏堵漏处置方案
- 事故现场警戒疏散规定
- 苹果采后保鲜处理技术方案
- 水稻二化螟防治技术规程方案
- 风险分级管控动态调整机制
- 2026年江西档案职称考试(档案事业概论)(中级)强化训练试题及答案
- 2026湖北武汉市特种设备检验检测研究院招聘工作人员15人备考题库含答案详解(a卷)
- 2026年江苏省扬州市高邮市中考英语第一次适应性试卷
- 2026年枣庄银行校园招聘(20人)考试备考题库及答案解析
- 企业管理行业企业信息化管理系统方案
- 2026年度滁州市全椒县人民法院公开招聘12名政府购买服务工作人员笔试备考试题及答案解析
- 小学英语三年级下册(闽教版)《Unit 2 My Clothes Lesson 3 Where is my Sweater》核心素养导向教学设计
- 山东临淄区九合财金控股有限公司招聘笔试题库2026
- 2026春新人教版三年级数学下册期中测试卷(附答案解析及评分标准)
- 彩钢围挡施工方案
- DB53∕T 168-2026 用水定额标准规范
评论
0/150
提交评论