You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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>

关键说明:

  1. 使用getAllVisibleItems()获取订单中可见的商品项,避免包含隐藏的关联商品
  2. 通过$item->getParentItemId()判断并跳过子商品,确保每个商品只输出一次
  3. 借助Magento\Catalog\Helper\Image获取标准的商品缩略图地址,保证图片路径正确

内容的提问来源于stack exchange,提问作者Rahul Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.11 22:13:15