一步步做个widgets 基础篇

首先建立一个目录plugins/widgets/helloword 这个就是新的挂件目录,系统的每个widgets都是一个目录

里面放两个文件:

widgets.php:

<?php

$setting['author']='我'; //挂件作者

$setting['name']='Helloword'; //挂件名称

$setting['version']='0.0.1'; //挂件版本

$setting['catalog']='我的原创'; //挂件目录

$setting['description'] = '这是我自己的helloword板块'; //挂件描述

?>

default.html:

<h1>HelloWorld</h1><br />

这时目录看起来这个样子:

我们到后台可视化模板编辑里面添加板块。

保存,前台就能看到了

添加一个输入框

下面我们来改进这个板块:在后台输入一串文字,在前台显示出来。

增加一个配置文件_config.html 这个文件名是定死的,只要存在这个文件,那么就会把这个文件内容放到后台的版块编辑里面

_config.html

输入我的文字:
<input type="text" value="<{$setting.string_1}>" name="string_1" />

注意:这个输入框的value在这里设置的是<{$setting. string_1}> , 这样在版块编辑的时候,才会作为把你上次填的文字放在输入框里我们在这里做的每个input/select元素,都会作为$setting这个变量的一部分

编辑的时候就是这个样子:

下面把输入的字符串在前台显示出来:修改default.html

<h1>Hello:<{$setting.string_1}></h1>

这时前台的样子:

加入控制程序

再在这个目录下添加一个 widgets_helloword.php,这里的文件和php函数,要用widget_ + 目录的名字(helloword)命名

widget_helloword.php

<?php

function widget_helloword(&$setting,&$system){

    return '<b style="color:red">'.$setting['string_1'].'</b>';

}

?>

下面修改default.html,让他输出通过php修改过的文字。只要把<{$setting.string_1}> 改成<{$data}>即可。

default.html

<h1>Hello:<{$data}></h1>

写到这里发现写错字了,helloword... 只好继续"你好单词"下去...

前台表现:

一步步做个widgets 实战篇

很多人做挂件的动机一般都是看到一个比较好效果或者是对官方提供的功能进行更深入的修改。比如看到了一个很好的效果,想把他用到自己的网店上,同时也可以在后台维护,下面的一个效果挂件,就是出于这样的一个动机来制作的。

原始的效果:http://www.stoutlabs.com/demos/slider_class/ 感觉这个带有数字控制的滑动的效果还是不错,想把它改成的ShopEx的挂件,只要店主在后台设置了图片的路径和这个图片上的链接就可以实现这个广告效果。

下面的图帮你来温习一下挂件的制作基础。

首先要想清楚,挂件里面有些什么东西是需要店主设置的: 1、图片的路径,这个当然需要店主自己改了,否则就不能自己添加广告了。 2、点击图片所链接的地址,这个也是必须的。 3、每一个图片停留的时间,是让浏览者看3秒还是看5秒,这个也是需要店主自定义的 4、图片滑动的时间,就是从一张图片向另外一张图片切换的时候所需要的时间。 5、数字的颜色和背景,因为是带有数字的,所以就有当前的图片的数字和非当前的图片数字,这两个地方的颜色都需要用户可以设定的。

然后看看,上面看到的那个效果的HTML和js是不是支持上面所理想中设定,当然,这个地方需要你了解一些js了。看了一下这个效果整个的js和HTML结构,ok,没有问题,都是可以支持的。把这些定下来以后,就可以去制作_config.html了。

制作_config.htm文件的时候,可以直接从一个类似的官方挂件中复制一个过来,这样有些现在的html和js都是可以使用。比如从exchangeeffect这个挂件中把_config文件复制过来。现在还是对这个文件动手了。在制作_config.htm的时候,也不需要考虑太多,凡是需要店主定义的地方,统统写成 <{$setting.XXXXX}>的格式。

制作好_config.htm以后,在后台插入这个挂件的时候,就可以看到大概的样子了。

然后接下来制作default.html,这个就是这个挂件的主区域。按部就班的把js和html调整好,保证在静态页面的情况下(就是没有嵌入到ShopEx系统中),可以正常使用。

上面的步骤全部做好以后,就可以使用这个挂件了,简单的预览如下:

【shopex】添加网页挂件widgets的更多相关文章

  1. tomcat部署-手动启动tomcat部署,添加网页,

    公司的内网什么都不能往外传,于是自己用公司的网络搭了一个网页,在网上抄了一堆upload,用来来回传输数据.... 但是每次用ideaJ启动服务器太费时. 研究了一下怎么手动启动tomcat,部署网页 ...

  2. live2d添加网页看板娘

    最近逛博客,发现好多博主都加了网页看板娘,简直可爱到血槽空了,赶紧学习模仿改造了一下~ 给博客园的博客也添加了看板娘!!就在右边~喜欢的请打赏我~ 不过因为移植过来比较复杂,就不出教程啦~记得多来调教 ...

  3. iOS WKWebView添加网页加载进度条(转)

    一.效果展示 WKWebProgressViewDemo.gif 二.主要步骤 1.添加UIProgressView属性 @property (nonatomic, strong) WKWebView ...

  4. 在一个Activity里面的TextView上面添加网页链接,启动后到另一个Activity里面!

    可以添加很多的属性,样式或者是什么的,目前要完成的功能是 点击TextView里面的某个文字链接,进入另外一个Activity里面!例如你可以做微博里面的 @XXX: 点击后进入他的个人主页! 下面都 ...

  5. 使用poi将excel转换为html,适用本身有导出excel的而现在需要添加网页打印的功能

    PoiExcelToHtmlUtil.java import org.apache.poi.POIXMLDocumentPart; import org.apache.poi.hssf.usermod ...

  6. HTML5 标签audio添加网页背景音乐代码

    <head> <meta http-equiv="Content-Type" name="viewport" content="wi ...

  7. 添加网页ico

    <link rel="Shortcut Icon" href="/favicon.ico" />

  8. 如何添加网页QQ在线组件

    免费开通QQ推广服务 复制代码到你想要展示的位置 粘贴,完成.

  9. ecmall 如何新增挂件

    不知到该怎么开始介绍,就直接说了,比如要在商城首页上添加一个自己开发测试用的挂件 1.找到模版文件夹的index.html,路径:themes/mall/default/index.html 自己选一 ...

随机推荐

  1. HDU 2121——Ice_cream’s world II——————【最小树形图、不定根】

    Ice_cream’s world II Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64 ...

  2. List 去重操作

    list集合的去重操作 List<string> listCatalogID = list.Select(a=>a.CatalogID).Distinct().ToList(); 代 ...

  3. mysql常用的优化措施

    http://www.cnblogs.com/ggjucheng/archive/2012/11/07/2758058.html

  4. Bootstrap知识点梳理

  5. 在thinkpad SL400上U盘安装双系统ubuntu14.10

    转自:http://zydky.iteye.com/blog/1674100 上文中装的双系统是centos6.3,因为自己对ubuntu有点熟悉,就装了ubuntu. 笔记本是09年入手的,买了之后 ...

  6. JavaScript基础:比较运算符——==与 ===;!=与!==

    var x=10, y="10", m=15 x==y;//返回true x===y;//返回false x!=y;//返回false x!==y;//返回true//同理cons ...

  7. JavaScript 如何编写计算器

    1.JavaScript制作计算器 <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...

  8. MySQL数据库实验四:嵌套查询

    实验四          嵌套查询 一.实验目的 掌握SELECT语句的嵌套使用,实现表的复杂查询,进一步理解SELECT语句的高级使用方法. 二.实验环境 三.实验示例 1.  查询与“刘晨”在同一 ...

  9. JavaRebel 2.0 发布,一个JVM插件

    JavaRebel是一个JVM插件(-javaagent),能够即时重载java class更改,因此不需要重新部署一个应用或者重启容器,节约开发者时间. JavaRebel 2.0的新特征: 改变了 ...

  10. D. Bicycle Race_几何

    D. Bicycle Race time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...