如何在Magento 2成功/感谢页正确添加TrustedShops追踪代码?
Magento 2 成功页集成TrustedShops Checkout Review Collector 解决方案
在Magento 2的订单成功(感谢)页实现TrustedShops Checkout Review Collector功能时,需要向TrustedShops传递以下核心订单信息:
- 订单编号
- 客户邮箱
- 订单总额
- 货币类型
- 支付方式
- 已购商品列表(包含商品URL、图片地址、名称、SKU)
我之前在处理商品循环时遇到了默认方法导致的关联商品/重复商品问题,以下是经过验证的解决方案代码,可直接用于成功页的模板文件中:
<?php $incrId = $block->getOrderId(); $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $order = $objectManager->create(\Magento\Sales\Model\Order::class) ->loadByIncrementId($incrId); $total = $order->getGrandTotal(); $currency = $order->getStoreCurrencyCode(); $paymentType = $order->getPayment()->getMethod(); $email = $order->getCustomerEmail(); $imageHelper = $objectManager->get(\Magento\Catalog\Helper\Image::class); ?> <div id="trustedShopsCheckout" style="display: none;"> <span id="tsCheckoutOrderNr"><?= $block->getOrderId(); ?></span> <span id="tsCheckoutBuyerEmail"><?= $email; ?></span> <span id="tsCheckoutOrderAmount"><?= $total; ?></span> <span id="tsCheckoutOrderCurrency"><?= $currency; ?></span> <span id="tsCheckoutOrderPaymentType"><?= $paymentType; ?></span> <?php foreach ($order->getAllVisibleItems() as $item): // 跳过关联商品/父商品下的子商品,避免重复统计 if ($item->getParentItemId()) { continue; } $realItem = $item; $product = $realItem->getProduct(); $productSku = $realItem->getSku(); $productName = $realItem->getName(); $productUrl = $product->getProductUrl(); // 获取正确的商品缩略图地址 $imageUrl = $imageHelper->init($product, 'product_page_image_small')->getUrl(); ?> <span class="tsCheckoutProductItem"> <span class="tsCheckoutProductUrl"><?= $productUrl ?></span> <span class="tsCheckoutProductImageUrl"><?= $imageUrl ?></span> <span class="tsCheckoutProductName"><?= $productName ?></span> <span class="tsCheckoutProductSKU"><?= $productSku ?></span> </span> <?php endforeach; ?> </div>
关键说明:
- 使用
getAllVisibleItems()获取订单中可见的商品项,避免包含隐藏的关联商品 - 通过
$item->getParentItemId()判断并跳过子商品,确保每个商品只输出一次 - 借助
Magento\Catalog\Helper\Image获取标准的商品缩略图地址,保证图片路径正确
内容的提问来源于stack exchange,提问作者Rahul Mishra
相关产品推荐
相关产品推荐

