zencart完整的API开发参考手册(3)

2019-01-19 14:01

请注意 includes/classes/observers 目录不是一个自动加载目录,所以你将需要安排

application_top.php 来自动加载你的观察者类,如同上面所述(在 auto_loaders 目录中添加一个新的 config.xxxxx.php 文件,诸如此类)。让我们假设你正在使用 freeProduct 类(看下面的例子),你已经把它保存到

includes/classes/observers/class.freeProduct.php 文件。

你现在需要为这个类安排从而加载和实例化它。为了达到这个目的,你需要使用 appliction_top.php 自动加载系统。

在 includes/auto_loaders 创建一个名为 config.freeProduct.php 的文件,包含以下内容:

注意:已经选择10来引发这个观察者类在 session 开始之前加载的。注意:已经选择90作为从观察者需要附加到 $_SESSION['cart'] 类的偏移量(见下面的 freeProduct 例子),而 $_SESSION['cart'] 被实例化的位置是80。 把这些组合起来,让我们看一下真实的例子。

1.2.6 一个真实的例子

被要求众多的一个特性是:当客户消费超过一定金额的时候,商店可以自动添加一件免费赠品。

这个代码应该是智能的:它不仅可以在客户消费达到一定金额的时候添加免费赠品,同时也可以在客户改变购物车内容,消费金额在标准之下的时候,移除免费赠品。

传统的,虽然这个代码不是特别困难,它却意味要在 shoppingCart 类中的许多地方需要破解。通过 ONS,这将通过一个十分小的定制类来完成,同时不会造成任何的破坏。 以下是代码:

需要注意的几点:

首先,在类本身,我已经为系统设置了选项。这显然是一个坏的主意,通过一个后台模块来设置这些选项无疑要好许多

其次,注意我们事实是在一个类中观察两个事件。

所以我们正在观察 shopping_cart 类的 NOTIFIER_CART_ADD_CART_END 和 NOTIFIER_CART_REMOVE_END。

update 类是十分简单的,但是在它简单的管理中,需要完成我们要求它的工作。它首先是检查看购物车的总金额是否已经达到标准,如果还没有,添加免费赠品到购物车中。

然后它检查购物车的总金额是否在标准之下,如果免费赠品在购物车内,移除它。 这很酷,再增加点难度如何?

1.2.7 另外一个真实的例子

我们再次回到购物车和促销。另外一个经常要求的特性是 BOGOF 促销,或者买一送一。要达到这个目标比之前的例子要稍微难一些,因为购物车总额需要执行一些操作。然而你将看到这还是轻而易举的。


zencart完整的API开发参考手册(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:深基坑边坡坍塌事故应急演练方案6.28

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: