rpd / rapid-magento-extension
RapidCampaign Magento 扩展
This package is not auto-updated.
Last update: 2024-09-28 18:10:41 UTC
README
此 Magento 扩展的目标是与 RapidCampaign 集成,向客户展示促销活动。
需求
此扩展应实现并维护的用户故事如下。
配置
- 作为管理员,我必须能够通过 Magento 管理区域使用我的 API 密钥配置扩展。
- 作为管理员,我必须能够在 Magento 管理区域全局启用或禁用促销块显示。
- 作为管理员,我必须能够在 Magento 管理区域启用或禁用 iframe URL 参数的加密。
- 作为管理员,我必须能够在 Magento 管理区域配置发送给 RapidCampaign 的分析级别。
- 作为管理员,我必须能够在 Magento 管理区域定义 cookie 的有效期长度。
- 作为管理员,我必须能够在 Magento 管理区域启用或禁用扩展测试模式。
- 作为管理员,我必须能够在 Magento 管理区域启用或禁用扩展特定日志。
小部件
- 作为管理员,我必须能够创建 RapidCampaign 小部件。
- 作为管理员,我必须在创建小部件时指定该小部件应用于哪个 RapidCampaign 促销活动。
- 作为管理员,我必须在创建小部件时使用 Magento 销售规则界面指定小部件的目标条件。
- 作为管理员,我必须能够通过选择可用的客户群体来指定小部件的附加目标条件。
- 作为客户,如果小部件的销售规则不匹配,则不应能够看到小部件。
- 作为客户,如果扩展全局禁用,则不应能够看到小部件。
- 作为管理员,在编辑小部件时,我应看到销售规则界面填充了之前选择的内容。
自动优惠券应用
- 作为购物车中有商品的客户,当我点击 RapidCampaign 促销中的优惠券代码链接时,优惠券代码应应用于我的购物车。
- 作为购物车中没有商品且我已点击优惠券代码链接的客户,当我前往购物车时,我应仍然收到折扣。
开发设置
此扩展提供了一个 modman 文件以进行进一步开发。 Modman 是一种通过符号链接安装 Magento 扩展的简单方法。
modman init
modman clone git@bitbucket.org:nearme/rapid-magento-extension.git
组件
API 请求
API 请求由 Model/Api/ 处理,有两个类。第一个是用于发送请求的实用工具类,另一个是用于促销端点,这里是大部分工作的地方。如果请求失败,将尝试最多 3 次。
存在一个 Model/Storage.php 类,用于处理从 API 获取的促销并将它们存储在数据库表中,以供以后使用。
在 config.xml 中定义了一个定时任务,每天重新获取促销。类似地,已添加到系统配置区域的自定义按钮,通过 controllers/Adminhtml/PromotionController.php 触发促销缓存过期。
小部件
功能的核心来自于在etc/widget.xml中定义的小部件以及在Block/Widget/Promotion.php中创建的功能,这允许店主选择促销活动和目标规则。
目标规则重新使用销售条件的组件,然后通过base_64编码将其存储在小部件中。有一个观察者用于在发布时支持条件组合和序列化。
要选择促销活动,需要一个单独的窗口,由controllers/Adminhtml/ChooserController.php和Block/Widget/Grid/Chooser.php提供。
最终,这将输出RapidCampaign的div元素和脚本嵌入标签以渲染促销活动。其中包含一些客户信息作为参数,这些参数可以可选地使用Helper/Encrypter.php加密。
优惠券
有一个新的控制器controllers/CouponsConroller.php,它允许RapidCampaign通过优惠券代码信息将客户重定向到($STORE_BASE_URL + '/rapidcampaign/coupons/apply/coupon/$COUPON_CODE')。
如果购物车中有商品,则立即应用优惠券代码,并显示成功消息给客户。使用相同的成功/错误消息以保持与商店翻译的兼容性是很重要的。
如果没有商品在购物车中,我们仍然会向客户发送消息,但还会将优惠券代码添加到coupon_code cookie中。
然后有一个观察者监听产品添加到购物车的事件,并从cookie中获取优惠券,并自动将其应用于购物车。
分析
创建了三个新的块,每个JS块一个;一个用于所有页面,一个用于仅购物车,一个用于订单成功页面。目前没有为此功能提供模板,因为HTML是在块中输出的。
关于结账成功分析是否用于所有客户或仅与RapidCampaign促销互动的客户,有一些逻辑。这是通过在应用优惠券时设置的cookie来管理的。
企业版
通过打孔提供与Magento企业版和全页缓存兼容性。这适用于促销本身以及分析。
提供此功能的功能可以在Model/FPC文件夹和etc/cache.xml中找到。