【问题标题】:How to pull customer email on Magento Checkout Success.phtml 1.7如何在 Magento Checkout Success.phtml 1.7 上提取客户电子邮件
【发布时间】:2012-10-26 01:05:48
【问题描述】:

我在网上尝试了各种解决方案,但均无济于事。我认为应该是这样的:

<?php
$order->getBillingAddress()->getEmail();
?>

An email confirmation was sent to: <?php echo $order->getEmail ?>

我可以通过以下方式显示订单 ID:

<?php echo $this->getOrderId() ?>

如果您有建议,请尽可能具体,因为我绝对是新手。

【问题讨论】:

    标签: magento magento-1.7


    【解决方案1】:

    尝试将其添加到 Success.phtml

    <?php
       $order = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId());
       echo $order->getCustomerEmail();
    ?>
    

    阅读更多:Get Order Increment ID in Magento

    【讨论】:

    • 我试过那个线程。也许我没有正确显示变量:
    • 试试我上面的新代码...我正在按订单 id 加载订单,但它在成功页面上显示的 id 是订单增量 id
    • 这成功了!我将第二行放在我需要的文件中,并填充了电子邮件地址。谢谢。
    • 你能把我上面的答案标记为解决方案吗……这样每个人都会知道它是解决的,而不是花时间去解决它。 ty
    【解决方案2】:

    试试这段代码

    $_customerId = Mage::getSingleton('customer/session')->getCustomerId();
    
    $lastOrderId = Mage::getSingleton('checkout/session')->getLastOrderId();
    
    $order = Mage::getSingleton('sales/order'); 
    
    $order->load($lastOrderId);
    

    那么做

    foreach($order as $_order){
        echo $_order->getCustomerEmail();
    }
    

    希望对你有帮助

    【讨论】:

    • 这会导致代码停止执行。这可能是我实现表单中的最后一行: getCustomerEmail();} ?>
    • 上面的代码不起作用,因为当你使用 ->load() 时,它将返回 1 条记录/对象(每个 id 一条记录),因此当它不是对象数组时,你不能使用 foreach 循环跨度>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-17
    • 1970-01-01
    • 2015-03-01
    • 1970-01-01
    相关资源
    最近更新 更多