ecmall挂件开发实例二(转)
下述例子讲述了快速增加挂件的方法,但对系统中的代码未做更改,基本参照image_ad挂件的方法。
第 一步:
了解首页模板结构
首页文 件结构 | include hearder.html | 包含的头文件,其中包含top logo区域 |
<div class=”keyword”>…</div> | 搜索栏区域 | |
<div class=”content”>…</div> | 第一个是内容区 域,包含左,右区域,右区域又划分为中和右区块 | |
<div class=”ad_banner” area=”banner” widget_type=”area”>…</div> | 通栏广告区域 | |
<div class=”content”>…</div> | 第二个是下部区 域,同样是左右区域,一般放置分类和产品混排模块 | |
<div class=”content” area=”bottom_down” widget_type=”area”>…</div> | 底部友情链接区域 | |
include footer.html | 包含的底部文件,主要包含版权信息 |
弄明白template结构后,添加挂件区域就方便多了。 导航下方通栏广告通常是网站的黄金位置,但是默认没有,于是我在<div class=”keyword”>…</div>下方添加一个div区域,如下 <div class=”ad_banner” area=”nav_banner” widget_type=”area”>…</div>
想添加别的区域也很容易,但是要考虑布局是否会破碎,最好是先研究theme下css的设置。
第二步:
进入 商城系统external/widgets目录下,会看见默认已经自带很多插件,将image_ad下载下来,重命名为xxx_ad或者是好记的名称
目录结构 | config.html | 后台管理模板时设置挂件页面 |
widget.html | 首页模板中挂件html代码片段页面 | |
main.widget.php | model源码文件,包含对挂件类 的建模 | |
widget.info.php | 定义挂件的数组信息 |
修改widget.info.php中挂件信息,数组array[name]要与挂件目录名相同
第三步: 修改main.widget.php文件中class XXX extends BaseWidget 类
- _get_data()函 数是获取图片地址和链接
- parse_config($input)函数是后台设置时返 回图片地址
- _upload_image()是图片上传函数
第四步:
config.html 是后台管理插件时html代码文件,基本不用动,widget.html文件根据自己模板和css设定修改,例如修改div class,是否显示链接等等。
最后,基本上简单的广 告挂件完成,将添加自定义区域的index.html和挂件目录上传。
最 最后,然后在后台编辑模板,将挂件加入模板中新添加的区域中,设置后即可
转自 http://my.oschina.net/u/779687/blog/118419
ecmall挂件开发实例二(转)的更多相关文章
- ecmall 挂件开发实例一
(参考网上相关文章,进行测试点评,下述方法测试成功) 1:在页面上添加要展示的页面模块 <div class="left" area="bottom_foot&q ...
- NDK 开发实例二(添加 Eigen库)
上一篇,我已经阐述了如何创建一个简单的NDK实例: NDK 开发实例一(Android.mk环境配置下) 在上一篇的基础上,我们来添加Eigen库,然后做一个简单实例. Eigen是一个高层次的C + ...
- Spring Boot 使用IntelliJ IDEA创建一个web开发实例(二)
1. 创建一个Controller类 package com.example.demo; import org.springframework.web.bind.annotation.RequestM ...
- ecmall widgets 挂件开发详解
Ecmall挂件开发 实质上是后台开发很多页面,分别去调用程序展示这些页面,达到首页内容更换很快的目的,这样做减少后续开发,开发人员只需开发挂件就可以了,至于位置可随意定.(还需调整html,但是起码 ...
- ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】
本文包含商品自定义添加教程及进一步的开发实例: 教程: 说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms.Phpcms.帝国)等,他们是可以在后台直接添加自定义字段的. ...
- [转贴]JAVA:RESTLET开发实例(二)使用Component、Application的REST服务
上一篇文章,我们介绍了基于JAX-RS的REST服务,本篇文章我们介绍不基于JAX-RS的模式.JAX-RS其实就是一个简单的 Application服务.和我们接下来介绍的Application基本 ...
- axis2开发实例(二)建立独自的新工程
第一部分 环境搭建 1. 环境搭建 (1) 下载Axis2服务包:axis2-1.6.2-bin.zip,axis2-1.6.2-war.zip,分别解压到D:\webservice_axis ...
- 免费的HTML5连载来了《HTML5网页开发实例详解》连载(二)
最近新浪.百度.腾讯.京东.大众点评.淘宝等流行的网站都加大了招聘HTML5的力度,HTML5开发人员成了抢手货,本次连载的是由大众点评前端工程师和一淘网前端工程师基情奉献的<HTML5网页开发 ...
- RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)
RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(WebForm版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之 ...
随机推荐
- IOS-涂鸦
// // PaintView.m // IOS_0224_涂鸦 // // Created by ma c on 16/2/24. // Copyright © 2016年 博文科技. All ri ...
- 【Python】偏函数
此文转载自廖雪峰. Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function).要注意,这里的偏函数和数学意义上的偏函数不一样. 在介绍函数参数的 ...
- Ansible 小手册系列 五(inventory 主机清单)
Ansible 可同时操作属于一个组的多台主机,组和主机之间的关系通过 inventory 文件配置. 默认的文件路径为 /etc/ansible/hosts 主机清单示例 mail.example. ...
- 009-对象—— 构造方法__construct析构方法__destruct使用方法 PHP重写与重载
<?php /**构造方法__construct析构方法__destruct使用方法 PHP重写与重载 */ //构造方法:当实例化对象时,自动运行的方法 /*class channel{ fu ...
- C++复习10.对象的初始化拷贝析构函数
对象的初始化.拷贝构造和析构函数 20131002 构造函数.析构函数.赋值函数是类的基本函数.每一个类只有一个析构函数,但是可以有多个构造函数.多个赋值函数.一般如果类中没有显示的声明和定义上述函数 ...
- sql中exists,Intersect ,union 与union All的用法
熟练使用SQL Server中的各种用法会给查询带来很多方便.今天就介绍一下EXCEPT和INTERSECT.注意此语法仅在SQL Server 2005及以上版本支持. EXCEPT是指在第一个集合 ...
- git重要命令
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...
- 【html5】hashchange Event – 监测URL的hash变化
通过URL传值,在?后附加以=连接的键值对,各键值对间以&连接:也可以通过URL传递页面参数,在”#”后附加的方式.两者最大的一个 区别在于:后者不会发起请求,不会导致页面刷新.常见应用场景在 ...
- sed用法详解
转载自: SED单行脚本快速参考(Unix 流编辑器) 如侵犯您的版权,请联系:Windeal12@qq.com ------------------------------------------- ...
- c# 系统校时工具类
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace HuaT ...