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

时间: 2024-08-29 14:14:51

ecmall挂件开发实例二(转)的相关文章

ecmall 挂件开发实例一

(参考网上相关文章,进行测试点评,下述方法测试成功) 1:在页面上添加要展示的页面模块 <div class="left" area="bottom_foot" widget_type="area"> <!--{widgets page=index area=bottom_foot}--> </div> 2:修改工程目录下/data/page_config/default.index.config.php添加该

ext 6.0开发实例二

由于Ext JS 6将原来的Ext JS和Sencha Touch合并为一个框架,因而在使用CMD来创建应用程序前,需要考虑清楚你是要创建一个通用应用程序,还是仅仅只是针对桌面或移动设备的应用程序. 要做这样的考量,是因为通用应用程序和比较单一的应用程序在开发上会有些小麻烦.这些小麻烦主要是因为Ext JS的自动加载机制造成的,有时候会很困扰人. Ext JS的自动加载机制是根据类名来划分目录兵加载脚本的,例如SimpelCMS.view.Main,如果没有自定义过SimpelCMS的路径指向,

ZabbixAPI+django+nginx简单的二次开发实例(三)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(二) 步骤三,站点架构部分 本部分用到的软件 1,Nginx:接受访问请求,应答静态页面,转发动态请求至uwsgi 2,uwsgi:应答动态请求 3,Django:处理后台数据 4,supervisor:管理进程 首先安装Nginx yum install epel-release yum install python-devel nginx 修改配置文件 vim /etc/ngnix/ngnix.conf user

ZabbixAPI+django+nginx简单的二次开发实例(五)

接上一篇博文 ZabbixAPI+django+nginx简单的二次开发实例(四) 步骤五,图形展示 写一个RRDtool图形展示的脚本,由于要和view.py联动,我放在了appname的文件夹下 cd /API/web/pos/moniter vim rrddraw.py #!/usr/bin/env python #coding=utf-8 import rrdtool #ping的图形 def itemping(data): pngname = str(data['pname']) #图

PHPCMS V9 模块开发 二次开发实例 留言本

鄙人实现了PHPCMS V9 产品开发权威指南(2011官方最新版).doc中的留言板实例,并加上模块安装和卸载功能, 程序可以运行,但只实现基本功能,目的是想让和我一样徘徊在PHPCMS门口不知道从哪儿进门的初学者走一下流程,欢迎指正! 对于像我这样的入门者希望先把上面这个文档仔细读一遍再往下看! 声明:我用的是GBK版本. 二次开发流程 创建数据库和数据库表(无数据库操作可略过) 创建数据模型文件 创建模块目录 开发控制器和模板 install和uninstall模块 一.创建数据库表 具体

android for vs (二)visual studio android 开发实例

android for vs (一)visual studio android 开发实例 相关 vs 的 android 开发环境安装配置可以看我的前一篇文章 这里使用 vs2010 自带的实例进行开发与调试 一.新建项目 文件 -> 新建 -> 项目,我们选择Blank App(Android)项目,如下图 二.项目目录结构 1)AndroidManifest.xml 项目配置描述文件,项目名.图标.运行程序需要的权限都可以在这里声明 2)Main.axml 界面布局及元素定义文件 3)Ma

QT开发(二十二)——QMainWindow主窗口

QT开发(二十二)--QMainWindow主窗口 一.主窗口简介 应用程序中的主窗口是与用户进行长时间交互的顶层窗口,提供了应用程序的大部分功能,通常是应用程序启动后的第一个窗口,应用程序一般由一个主窗口和多个对话框组成. QT中直接支持主窗口,QMainWindow是QT中主窗口的基类,是继承于QWidget类的容器型组件. QMainWindow内部封装了菜单栏.工具栏.中心组件.停靠组件.状态栏等. QMainWindow内置了布局管理器,基本的组件布局如下: 二.菜单栏 QT中提供了预

QT开发(二十)——QT对话框

QT开发(二十)--QT对话框 一.对话框简介 对话框是与用户进行简短交互的顶层窗口 QDialog是QT中所有对话框窗口的基类,QDialog继承于QWidget,是一种容器型的组件,是定制了窗口样式的特殊QWidget. QDialog作为一种专用的交互窗口,不能作为子部件嵌入其他容器中. 二.对话框类型 对话框类型分为模态对话框和非模态对话框. 1.模态对话框 模态对话框显示后无法与父窗口进行交互,是一种阻塞式的对话框,使用QDialog::exec()函数调用. 模态对话框一般在栈上创建

QT开发(二十七)——QT常用类(一)

QT开发(二十七)--QT常用类(一) 一.QString 1.QString简介 QString提供了Unicode编码的字符串,使用隐式共享技术来节省内存和不必要的数据拷贝,不必考虑跨平台的兼容性. QString类成员函数中除了 ascii().latin1().utf8().local8Bit()函数,其他所有的函数都是可重入的. 2.QString成员函数 QString::QString ( const QChar * unicode, int size ) QString::QSt