gpt4 book ai didi

Magento Onepage 成功转换跟踪设计模式

转载 作者:行者123 更新时间:2023-12-02 05:03:54 28 4
gpt4 key购买 nike

我的目的是通过将第三方 javascript(例如 google analytics、optimizely、pricegrabber 等)插入 onepage success 的页脚来通过多个 channel 跟踪转化。

我通过向 local.xml 中结帐成功节点内的页脚引用添加一个 block 来完成此操作,并且一切正常。

我的问题更多是关于效率和可扩展性。

我想到最好将所有 block 组合成一个 block 引用,然后使用各种方法作用于对各种相关模型的单个调用,以提供插入 javascript 所需的数据每个转换跟踪脚本。

转化跟踪可能依赖的一些常见数据示例(伪):Order ID , Order Total, Order.LineItem.Name(foreach) 等等

目前,对于每个脚本,我都调用了适当的模型,将客户最后的订单 ID 作为加载值传递,并调用 get() 将返回值分配给变量,然后遍历数据以将值与给定第三方服务的期望相匹配。

结帐完成后,所有数据都应提取一次每个第三方服务可能需要不同格式的不同数据

这是在结帐成功的页脚加载的转化跟踪模板文件之一的示例。

$order = Mage::getModel('sales/order')->loadByIncrementId(Mage::getSingleton('checkout/session')->getLastRealOrderId());
$amount = number_format($order->getGrandTotal(),2);
$customer = Mage::helper('customer')->getCustomer()->getData();
?>

<script type="text/javascript">
popup_email = '<?php echo($customer['email']);?>';
popup_order_number = '<?php echo $this->getOrderId() ?>';
</script>
<!-- PriceGrabber Merchant Evaluation Code -->
<script type="text/javascript" charset="UTF-8" src="https://www.pricegrabber.com/rating_merchrevpopjs.php?retid=<something>"></script>
<noscript><a href="http://www.pricegrabber.com/rating_merchrev.php?retid=<something>" target=_blank>
<img src="https://images.pricegrabber.com/images/mr_noprize.jpg" border="0" width="272" height="238" alt="Merchant Evaluation"></a></noscript>
<!-- End PriceGrabber Code -->

只有一段这样的代码没什么大不了的,但我们正在用许多不同的第三方服务做类似的事情。

Pricegrabber 是较简单的示例之一。更复杂的跟踪服务需要所有产品名称、ID、价格、类别、订单 ID 等的逗号分隔列表。

我想让它更易于管理,所以我的想法是:

  1. 将所有模板文件合并成一个文件
  2. 开发帮助程序类或库以将数据传送到转换模板

目标包括

  1. 可扩展性
  2. 最少的模型调用
  3. 最少的方法调用

问题 1.法师助手是最好的选择吗? 2. 对于“helper”类,你有什么可以推荐的设计模式吗? 3. 为什么您选择的设计模式最适合此实例?

最佳答案

您可以创建一个自定义模块来扩展 Google Analytics

在/app/code/local/MageIgniter/SiteTracker/etc/config.xml

<config>
<modules>
<MageIgniter_SiteTracker>
<version>0.1.0</version>
</MageIgniter_SiteTracker>
</modules>
<global>
<blocks>
<googleanalytics>
<rewrite>
<ga>MageIgniter_SiteTracker_Block_CustomTracking</ga>
</rewrite>
</googleanalytics>
</blocks>
</global>
</config>

然后根据需要修改这个方法,见app/code/core/Mage/GoogleAnalytics/Block/Ga.php

在/app/code/local/MageIgniter/SiteTracker/Block/CustomTracking.php

class MageIgniter_SiteTracker_Block_CustomTracking extends Mage_GoogleAnalytics_Block_Ga
{
protected function _getOrdersTrackingCode(){
....
}
}

关于Magento Onepage 成功转换跟踪设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13736866/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com