因此,我在Module.php
中添加了下面的代码,目的是获得特定的订单详细信息,并将它们传递给trustpilot脚本代码,该代码也粘贴在下面。我不确定$order变量将返回什么数据,所以我对该变量执行了dd()。但问题是,我不被允许下测试订单。那么,谁能告诉我如何从$order变量中获取电子邮件、全名和订单id,并将它们传递给trustpilot javascript?
Event::on(
Order::class,
Order::EVENT_AFTER_COMPLETE_ORDER,
function(Event $event) {
// @var Order $order
$order = $event->sender;
Craft::dd($order);
}
);
Trustpilot脚本:
<script>
document.addEventListener('DOMContentLoaded', function() {
const trustpilot_invitation = {
recipientEmail: 'john@gmail.com',
recipientName: 'John',
referenceId: 'Order_123',
source: 'InvitationScript',
};
tp('createInvitation', trustpilot_invitation);
});
</script>
发布于 2021-01-13 08:51:41
最好检查一下Craft Commerce API作为参考,但这些应该可以帮你解决问题。
$order->reference
$order->email
对于名字和姓氏,有两种可能的方法来获取这些信息。来自分配给订单的用户(如果有)或来自分配给订单的客户(如果有),因为人员可以是客人。注意:如果你想从客户那里获取这些详细信息,你必须从主地址获取-如果可能的话,试着只使用用户...容易多了。
例如:
$order->user->firstName
https://stackoverflow.com/questions/65408786
复制相似问题