云服务器网:购买云服务器和VPS必上的网站!

opencart系统(opencart api)

本文目录:1、opencart是什么?2、如何使用OpenCart 2.x Event事件系统3、做外贸电商,shopify,opencart,wordpress哪个好4、怎样在Ubuntu系统安装Opencartopencart是什么?OpenCart是国外著名的开源电子商务系统,由英国人Dani

本文目录:

  • 1、opencart是什么?
  • 2、如何使用OpenCart 2.x Event事件系统
  • 3、做外贸电商,shopify,opencart,wordpress哪个好
  • 4、怎样在Ubuntu系统安装Opencart

opencart是什么?

OpenCart是国外著名的开源电子商务系统,由英国人Daniel一人独立开发,其社区非常活跃,由各国网友翻译出来的语言包已经达到18种,其中包括中文,俄文,法文,西班牙文,德文,日文等等。

如何使用OpenCart 2.x Event事件系统

OpenCart 2.x 包含很多新特性,其中之一就是专为开发者提供的事件系统,Event

System。它允许你在不修改原有系统代码的基础上(

当然也不使用vQmod或者是2.x版本新增的OCMOD修改代码,这样可以规避代码冲突的风险。

),规定某些特定操作执行的时候,触发特定的动作。比如说:在用户下单或是注册的时候,你可以使用事件系统向后台发送通知信息。

使用原理:

使用事件系统需要两个步骤:

注册事件处理器。

接入事件处理器。

在控制器文件中注册事件处理器十分简单。你可以使用一个包含所有方法的单独文件作为事件处理器

,也可以使用在控制器里分出一个方法。注册事件处理器你需要使用 extension/event 模型(OpenCart 2.0.1+)或者

tool/event 模型(OpenCart 2.0.0.0)。 extension/event 模型有两个方法:

addEvent($code, $trigger, $action) 注册事件 和 deleteEvent($code)

删除事件。你可以在你开发插件时,在intsall()方法里面使用addEvent。在卸载插件的方法 uninstall()中使用

deleteEvent。

$code 参数用于组合你的事件处理器。

$trigger 参数用于规定触发时的动作参数 .这里有许多预定的opencart系统触发参数: .

$action 参数用于定位你的事件处理器。它通常是一组标准的控制器路由,比如:module/mymodule/on_user_created。

实例

环境:opencart 2.0.1+。

假设我们要开发一个名叫“My Module”的模块。

后台控制器: admin/controller/module/mymodule.php .

前台文件: catalog/controller/module/mymodule.php .

需求:当有用户注册或是删除一个店铺的时候,发送一份email给网站管理员。触发的参数我们可以定义为 pre.admin.store.delete 和 post.customer.add。

首先我们可以在我们的模块中使用 install() 方法:

public function install() {

$this-load-model(‘extension/event’);

$this-model_extension_event-addEvent(‘mymodule’, ‘pre.admin.store.delete’, ‘module/mymodule/on_store_delete’);

$this-model_extension_event-addEvent(‘mymodule’, ‘post.customer.add’, ‘module/mymodule/on_customer_add’);

}

卸载模块的流程方法 uninstall 如下:

public function install() {

$this-load-model(‘extension/event’);

$this-model_extension_event-addEvent(‘mymodule’, ‘pre.admin.store.delete’, ‘module/mymodule/on_store_delete’);

$this-model_extension_event-addEvent(‘mymodule’, ‘post.customer.add’, ‘module/mymodule/on_customer_add’);

}

接下来我们接入事件处理器。`pre.admin.store.delete`

处理后台事件,所以他的处理器必须接入admin/中的控制器文件中。当店铺被删除时,我们需要一个处理器方法来发送通知给后台管理员。以 pre.

开头的事件表示在控制器方法执行前触发,以 post.

开头的事件则表示控制器方法执行之后触发。同时,我们也想要在我们的信息中包含店铺地址的域名,如果先执行完删除店铺的操作,那么我们就无法得到被删店铺

的域名了。

事件处理器:

public function on_store_delete($store_id) {

$this-load-model(‘setting/store’);

$store_info = $this-model_setting_store-getStore($store_id);

$admin_mail = $this-config-get(‘config_email’);

mail($admin_mail, “A store has been deleted”, “The store ” . $store_info[‘url’] . ” was deleted.”);

}

post.customer.add 需要在前台控制器catalog中写入事件处理器。当有新用户注册时,通知后台管理员。类似的方法如下:

public function on_customer_add($customer_id) {

$this-load-model(‘account/customer’);

$customer_info = $this-model_account_customer-getCustomer($customer_id);

$admin_mail = $this-config-get(‘config_email’);

mail($admin_mail, “New Customer”, “A new customer has just

registered with the following e-mail: ” . $customer_info[’email’]);

}

注意: 我们使用 mail() 函数发送邮件真实情况,我们可能要用到 OpenCart 的 Mail 类 发送 e-mails。

最后的代码如下:

admin/controller/module/mymodule.php

?php

class ControllerModuleMyModule extends Controller

{

public function install() {

$this-load-model(‘extension/event’);

$this-model_extension_event-addEvent(‘mymodule’, ‘pre.admin.store.delete’, ‘module/mymodule/on_store_delete’);

$this-model_extension_event-addEvent(‘mymodule’, ‘post.customer.add’, ‘module/mymodule/on_customer_add’);

}

public function uninstall() {

$this-load-model(‘extension/event’);

$this-model_extension_event-deleteEvent(‘mymodule’);

}

public function on_store_delete($store_id) {

$this-load-model(‘setting/store’);

$store_info = $this-model_setting_store-getStore($store_id);

$admin_mail = $this-config-get(‘config_email’);

mail($admin_mail, “A store has been deleted”, “The store ” . $store_info[‘url’] . ” was deleted.”);

}

}

catalog/controller/module/mymodule.php

?php

class ControllerModuleMyModule extends Controller {

public function on_customer_add($customer_id) {

$this-load-model(‘account/customer’);

$customer_info = $this-model_account_customer-getCustomer($customer_id);

$admin_mail = $this-config-get(‘config_email’);

mail($admin_mail, “New Customer”, “A new customer has just

registered with the following e-mail: ” . $customer_info[’email’]);

}

}

进阶

除了上述的标准用法,事件系统也能用做创建跨模块接口。使用Event 对象

($this-event),你可以在任何地方触发任何的事件。你可以使用它触发你自定义的事件。设想你正在开发一个用户评论的模块。你可以在客

户发送评论的时候触发一个事件,这就允许其他的模块开发者为你的事件处理期创建自定义的处理方法,而不需要使用vQmod或者OCMOD来修改代码。它可

以确保Opencart变得更加稳定。

PS:Event类定义在 system/engine/event.php 文件中。

做外贸电商,shopify,opencart,wordpress哪个好

shopfiy:: 采用月租,百分之三分成方式,好的组件也是同样的月租方式,对于中小团队基础电商的预算与需求是没有问题,但对于销售量大的产品这个系统是不合适,销售提成的百分之三是占很大的比例,同时该系统相高度自定义风格这个成本较高,大多数采用购买模板的方式快速建站

opencart: 属轻量级电商系统,目前市场占有率也较高,安全性与稳定性较差,易出问题,运营扩展方面的功能较弱,因为门槛不高,在建站投入这块价格较低

zencart,: 老牌电子商系统,由于灵活性不高,功能扩展不便,目前市场占有率越来越低,基本在外贸建站平台中消失

wordpress: 定位是在cms这块,但简单易用得到了很多相关的技术支持,woocommerce就是wordpress电商的延升

怎样在Ubuntu系统安装Opencart

你可以直接安装在vps跟根目录里面,那么你可以跳过第一步。但是如果你一台VPS不只是有一个网站的话,请从第一步就开始跟着操作。

使用命令 mkdir -p ~/yourdomain.com 来建立新的文件夹。建立好后,在用命令 cd ~/yourdoimain.com 进入子目录当中。

(请自行把yourdomain.com换为你自己的域名)

在github上面检查最新版的Opencart是哪个版本。截止到我写教程的时候(2015-12-28),最新版为2.1.0.1,所以我输入一下命令(如果你看教程的时候,Opencart更新了,只需要把2.1.0.1.zip修改一下就可以)

wget

我们要解压缩刚刚从GitHub上面下载下来的软件包,所以安装一下unzip这个软件,输入sudo apt-get install unzip

输入unzip 2.1.0.1.zip (如果你下载的不是2.1.0.1就换成下载的版本号)。返回来的结果是解压出来一堆路径,那么就可以下一步了。

5

默认的解压缩地址是在uploads文件夹当中。你需要把它们全部移到域名的yourdomain.com的根目录下面,使用命令:mv opencart-2.1.0.1/upload/* .

完成这一步之后,你已经在你的域名下安装好了Opencart。

本文来源:https://www.yuntue.com/post/75295.html | 云服务器网,转载请注明出处!

关于作者: yuntue

云服务器(www.yuntue.com)是一家专门做阿里云服务器代金券、腾讯云服务器优惠券的网站,这里你可以找到阿里云服务器腾讯云服务器等国内主流云服务器优惠价格,以及海外云服务器、vps主机等优惠信息,我们会为你提供性价比最高的云服务器和域名、数据库、CDN、免费邮箱等企业常用互联网资源。

为您推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注