ecmall 如何新增挂件
不知到该怎么开始介绍,就直接说了,比如要在商城首页上添加一个自己开发测试用的挂件
1.找到模版文件夹的index.html,路径:themes/mall/default/index.html
自己选一个地方用于摆放挂件的位置,新建div,代码如下:
<div style="height:300px;background-color:gray" area="my" widget_type="area"><!--{widgets page=index area=my}-->
</div>
然后刷新页面看到灰色div。 这里解释一下,在index.html里会有很多div 都包含area 和widget_type 这两个属性,这就是显示所必须的。
area=“my” ,属性值自定义,widget_type="area" 这个是不变的。这一步我们已经为挂件准备好位置了。
2. 新建一张数据库表test 字段id,name,money然后自己插入三条数据。
ecmall里 每一张表对应一个model
现在新建test表对应的model,命名test.model.php里面内容代码如下:类名采用驼峰命名法,必须继承BaseModel
<?php
class TestModel extends BaseModel{
var $table ="test";
var $prikey ="id";
function getData(){
$tese=m('test);
$test_res=$tese->find(array(
'condtions'=>'id>1',
'limit'=>2,
'order'=>'id desc',
));
return $test_res;
}
}
?>
3.配置文件: data/page_config里应该有两个配置文件,default.gcategory.config.php(商品分类页)和default.index.config.php(商城首页)
如果是新安装的ecmall 打开应该是没有,你可以在首页上先添加两个挂件,然后系统就会自己生成配置文件了。
现在就当是新安装的,既然测试挂件要在首页上,那么自己新建一个default.index.config.php。内容代码如下
<?phpreturn array ('widgets' => //第一部分 为挂件定义id值以及一些信息array ('_widget_2017' => //注意这个键 (自己定义)array ('name' => 'test', //注意这个name 要与你的挂件名一样'options' =>'我可是你的挂件啊', //这个是描述),),'config' => //第二部分 这个部分的作用就是 my区域将包含id为 _widget_2017的挂件 也就是上面的 name为test 的挂件。array ('my' => //这个键对应index.html 挂件摆放位置的div的area属性值array (0 => '_widget_2017', // 注意这个值 要和上面键的一样),),
);?>
这样配置文件就写好了。
4.上面做完准备工作,现在开始开发挂件,在external/widgets里 赋值一个已存在的挂件文件夹,改名为test,直接修改里面文件的代码。
一个挂件对应一个文件夹,一个文件夹里面有四个文件:
config.html 配置界面模版
main.widget.php 挂件主程序文件 这个相当于控制器
widget.html 挂件显示模版 显示挂件应该显示的内容
widget.info.php 挂件信息文件 这个就是配置一些说明
打开widget.info.php 里面就是一个数组,简单易懂,想改就改一下,注意 其中最后一个 configurable 如果是false 就代表该挂件不可以被编辑 那么 config.html 就没有用了,这里就先设置成false。
打开main.widget.php 修改类名 还是注意驼峰命名法,简单的代码如下:
<?php
/***测试挂件** @param * @return array*/
class TestWidget extends BaseWidget
{var $_name = 'test';function _get_data(){$recom_mod =& m('test');$data = $recom_mod->getData(); //直接调用test.model里写好的方法,//$data = $recom_mod->find(array('conditions'=>"id>1")); //调用testmodel继承的basemodel里的方法// var_dump($data);exit;return $data;}
}
?>
这个时候,在test数据表里的内容就已经查到了,$data这个数组就包含了需要的内容
最后再打开widget.html
在模版上循环$data输出就可以了 用到的是smarty的语法,简单的显示一下数据
<!--{foreach from=$widget_data item=goods}--><li><h3><a href="" target="_blank" title="{$goods.name|escape}">{$goods.name|escape}</a><span>{$goods.money|price}</span></h3></li><!--{/foreach}-->
至于为什么 main.widget.php里返回的$data在模版页上可以直接用,可能,也许,应该是预先加载了这个模版,谁知道呢,谁让我菜呢,我也很无奈。
5.完成了以上步骤以后,登录后台
点击编辑就回到首页,最上面显示可用挂件,最后一个应该就是新添加的挂件,然后拖动到 回个背景的div里,就ok了。
关于ecmall报错:
这个是不兼容php5.5的原因,可以自行百度。
ecmall 如何新增挂件相关推荐
- ecmall 后台新增菜单
所谓的开发新菜单,其实是和开发模块相对比的,之前说的开发模块,是在应对较大的,或者较为复杂,又相对独立于其他功能的项目需求. 而开发菜单,就是简单的在后台增加一个一级菜单以及其子菜单,或者直接在现有的 ...
- qq空间android客户端,手机QQ空间客户端安卓版 v5.2.1 官方正式版
手机QQ空间2012正式版官方免费版让你随时随地分享生活,留住感动. QQ空间(Qzone)是中国最大的社交网络,是QQ用户的移动家园.您可以用手机查看好友动态.与好友互动,上传照片.写说说.写日志. ...
- ecmall挂件开发
2019独角兽企业重金招聘Python工程师标准>>> 实质上是后台开发很多页面,分别去调用程序展示这些页面,达到首页内容更换很快的目的,这样做减少后续开发,开发人员只需开发挂件就可 ...
- ecmall widgets 挂件开发详解
Ecmall挂件开发 实质上是后台开发很多页面,分别去调用程序展示这些页面,达到首页内容更换很快的目的,这样做减少后续开发,开发人员只需开发挂件就可以了,至于位置可随意定.(还需调整html,但是起码 ...
- ecmall 挂件html位置,ecmall 挂件和模板的制作方法
ecmall是国内不错的商城系统,适合国内人的使用习惯: 但自从2.0以后,没有专门的广告系统,对于中小网站来说,是个苦恼. 看了一下官方挂件的说明,决定自己动手改一个吧. 第 一步: 了解首页模板结 ...
- ecmall 常用方法/函数说明
ecmall/eccore /ecmall.php 常量: define('START_TIME', ecm_microtime());define('IS_POST', (strtoupper($_ ...
- php方法中有%3cbr%3e报错,ecmall 标签以及格式化代码
$time1 = date("Y-m-d H:i:s", gmtime()); $time = date("Y-m-d H:i:s", time()); //g ...
- ECMall如何在后台添加模板编辑页
2019独角兽企业重金招聘Python工程师标准>>> 编辑文档admin\app\template.app.php. 获取ECMall编辑页面列表 1 /** 2 * 获取 ...
- h5的语义化部分_Html5新增的语义化标签(部分)
2014年10月29日,万维网联盟宣布,经过接近8年的艰苦努力,html5的标准规范终于制定完成.这是互联网的一次重大变革,这也许是一个时代的来临! 总结一些h5新增的语义化标签,记录下来方便自己学习 ...
最新文章
- 使用Canvas进行验证码识别
- linux shell脚本字符串连接符,学习Linux shell脚本中连接字符串的方法
- php数组中插入数值,php中如何在数组指定位置插入数据单元
- leetcode 386. Lexicographical Numbers | 386. 字典序排数(Java)
- 为什么我不喜欢数据库三范式
- C++编写简单的俄罗斯方块游戏
- Python使用matplotlib填充图形指定区域
- python画图turtle小人_python海龟绘图怎么增加每次画圆的半径|海龟python做图教程...
- 感觉csdn论坛不是很好用,感觉……
- 骁龙845_性能强大价格更吸引 超值骁龙845手机盘点
- 22岁阻止席卷网络的病毒,却因开发恶意软件被捕,这是传奇黑客马库斯的故事...
- 2021SC@SDUSC Zxing开源代码(九)Wifi 二维码结果处理
- 重置Win10网络网卡命令
- 中国工程院院士倪光南:大数据产业安全和发展需同步
- linux程序设计学习心得,几点学习Linux编程的建议
- 关于企业邮箱服务器经常被spamhaus反垃圾邮件组织拦截的排错方法分享
- 北京的程序猿们,今年过年去哪玩?
- 数据库统计函数 COUNT
- 笔记本联想小新Air14重装win10后触摸板失灵解决方案
- linux系统个安装360压缩,linux下的各种压缩文件安装介绍