下述例子讲述了快速增加挂件的方法,但对系统中的代码未做更改,基本参照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挂件开发实例二(转)的更多相关文章

  1. ecmall 挂件开发实例一

     (参考网上相关文章,进行测试点评,下述方法测试成功) 1:在页面上添加要展示的页面模块 <div class="left" area="bottom_foot&q ...

  2. NDK 开发实例二(添加 Eigen库)

    上一篇,我已经阐述了如何创建一个简单的NDK实例: NDK 开发实例一(Android.mk环境配置下) 在上一篇的基础上,我们来添加Eigen库,然后做一个简单实例. Eigen是一个高层次的C + ...

  3. Spring Boot 使用IntelliJ IDEA创建一个web开发实例(二)

    1. 创建一个Controller类 package com.example.demo; import org.springframework.web.bind.annotation.RequestM ...

  4. ecmall widgets 挂件开发详解

    Ecmall挂件开发 实质上是后台开发很多页面,分别去调用程序展示这些页面,达到首页内容更换很快的目的,这样做减少后续开发,开发人员只需开发挂件就可以了,至于位置可随意定.(还需调整html,但是起码 ...

  5. ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】

    本文包含商品自定义添加教程及进一步的开发实例: 教程: 说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms.Phpcms.帝国)等,他们是可以在后台直接添加自定义字段的. ...

  6. [转贴]JAVA:RESTLET开发实例(二)使用Component、Application的REST服务

    上一篇文章,我们介绍了基于JAX-RS的REST服务,本篇文章我们介绍不基于JAX-RS的模式.JAX-RS其实就是一个简单的 Application服务.和我们接下来介绍的Application基本 ...

  7. axis2开发实例(二)建立独自的新工程

    第一部分 环境搭建 1.  环境搭建 (1)    下载Axis2服务包:axis2-1.6.2-bin.zip,axis2-1.6.2-war.zip,分别解压到D:\webservice_axis ...

  8. 免费的HTML5连载来了《HTML5网页开发实例详解》连载(二)

    最近新浪.百度.腾讯.京东.大众点评.淘宝等流行的网站都加大了招聘HTML5的力度,HTML5开发人员成了抢手货,本次连载的是由大众点评前端工程师和一淘网前端工程师基情奉献的<HTML5网页开发 ...

  9. RDIFramework.NET -.NET快速信息化系统开发整合框架 【开发实例 EasyUI】之产品管理(WebForm版)

    RDIFramework.NET—.NET快速开发整合框架 [开发实例]之产品管理(WebForm版) 接上篇:RDIFramework.NET (.NET快速信息化系统开发整合框架) [开发实例]之 ...

随机推荐

  1. 十五 web爬虫讲解2—urllib库中使用xpath表达式—BeautifulSoup基础

    在urllib中,我们一样可以使用xpath表达式进行信息提取,此时,你需要首先安装lxml模块,然后将网页数据通过lxml下的etree转化为treedata的形式 urllib库中使用xpath表 ...

  2. 极小极大搜索 的个人理解(alpha-beta剪枝)

    极小极大搜索的算法过程: 参考文档:http://www.xqbase.com/computer/search_minimax.htm (经典) 主要思想比较简单,但说清楚也不大容易.其核心思想是通过 ...

  3. ubuntu12.04+openni+nit+SensorKinect环境搭建

    一.安装openni 1.下载openni                  OpenNI-Bin-Dev-Linux-x64-v1.5.4.0.tar.bz2 2.cd ~; mkdir kinec ...

  4. C++编译错误:multiple types in one declaration

    这是在使用QT的时候看到的.这种情况往往是结构体或者是class最后少加了一个分好,加上即可,这个bug找了我好久,mark一下.

  5. ios 第3天

    在手动引用计数中  每一次调用 retain  retainCount 就会加一  每一次release  retainCount就会减一 当retainCount 为零时  就会free (p) ; ...

  6. 各个数据库中top 的表示方法

    Select Top在不同数据库中的使用用法: 1. Oracle数据库 SELECT * FROM TABLE1 WHERE ROWNUM<=N 2. Infomix数据库 SELECT FI ...

  7. Linux:时间同步

    时间同步 硬件时间的设置 hwclock clock clock和hwclock用法相近,只用一个就行,只不过clock命令除了支持x86硬件体系外,还支持Alpha硬件体系. 查看硬件时间 hwcl ...

  8. node中的一些诡异bug

    这种bug一般是监听的端口号被占用了导致的,换个端口号!!!!

  9. 在初次安vs2008时设置的为C#现在怎么将其改为其他类型的界面

    如将C#改成C++, 工具 -> 导入和导出设置 -> 重置所有设置 -> 否,仅重置设置,从而覆盖我的当前设置 -> 重新选一个设置 -> 完成 选择完毕后,如新建MF ...

  10. iOS TUN之避免UDP包ip分片

    iOS的NetworkExtension给应用暴露了一个虚拟网卡TUN设备,可以设置其MTU值.如果上层应用发送的IP包大于这个MTU就会被分片.(详见:http://blog.csdn.net/n5 ...