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快速信息化系统开发整合框架) [开发实例]之 ...
随机推荐
- HDU 4739 Zhuge Liang's Mines (状态压缩+背包DP)
题意 给定平面直角坐标系内的N(N <= 20)个点,每四个点构成一个正方形可以消去,问最多可以消去几个点. 思路 比赛的时候暴力dfs+O(n^4)枚举写过了--无意间看到有题解用状压DP(这 ...
- wii 入门之路--fatt
wii 入门之路--fatt system menu:系统界面,开机进入后,显示很多应用,4.1用IOS60. Channel:理解为界面中的软件应用和游戏. IOS:IOS(Input Output ...
- 【Error】 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
mysql 登录输入密码有时会碰到如题的错误. 错误描述: Error 1045 (28000): Access denied for user 'root'@'localhost' (using p ...
- ping函数
#!/bin/bash #note:ping monitor set -u #set -x ping_fun() { d_network= echo -n "input the networ ...
- URAL 1830 Help in the RNOS 思路,读题 难度:1
http://acm.timus.ru/problem.aspx?space=1&num=1830 这道题需要理解题目操作的意思, 要更改第i位的状态,第i-1位必须激活为1,0-i-2位必须 ...
- Struts13---Ognl
模拟初始化的jsp页面 <body> <a href="user/login">登录</a> </body> public clas ...
- 利用国内镜像下载Android源码,并编译生成image镜像文件
为了编译安卓源码,首先需要一个Linux,本次采用Ubuntu Kylin14.04,内核版本3.13.装在四核.4G内存.1T硬盘的虚拟机上查看内核版本号:$uname -all清华镜像地址清华镜像 ...
- 不用storyboard,用xib开发
1. 新建一个Single View Application项目, 删除自动生成的.storyboard文件和ViewController文件 2. 新建一个UIViewController的子类,命 ...
- 文件目录tree显示,python
#/usr/bin/python import os def travelTree(currentPath, count=0): if not os.path.exists(currentPath): ...
- 使用VisualStudio读写NI FPGA板卡实例(基于FPGA Interface C API Generator)
实验平台说明:安装了NI LabVIEW 2015 32bit版本,安装了NI FPGA Interface C API Generator,安装了硬件PCIe-7842R:安装了Visual Stu ...