




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025版农产品加工劳务承包合同字样参考
- 二零二五年度特色民宿装修施工合同书
- 二零二五年度人工智能辅助医疗诊断系统研发合同协议范本
- 2025房地产开发合伙人股权入股协议范本与操作流程
- 护工实践培训课件
- 二零二五年度罗马柱古建筑修缮与施工管理合同
- 二零二五年房屋外墙保温隔热节能改造与智能化系统承包合同
- 二零二五年度农村自建房二房东出租合作协议
- 2025版互联网数据中心(IDC)运营合作合同协议书
- 二零二五年度保密协议培训及保密法律法规解读合同
- 《电解质失衡课件讲解》课件
- 景区团建合同协议书
- 收费公路联网系统网络安全技术要求(试行)
- 临床胰岛素皮下注射(中华护理学会团体标准)
- 蜘蛛人作业培训
- 2025南航集团校园招聘笔试参考题库附带答案详解
- 网络安全运维培训内容
- 钢材加工现场管理制度
- 经皮肾术后护理试题及答案
- DB51T2681-2020 预拌混凝土搅拌站废水废浆回收利用技术规程
- 海上风力发电项目可行性研究报告
评论
0/150
提交评论