Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/243.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何从订单中获取客户名称?_Php_Magento - Fatal编程技术网

Php 如何从订单中获取客户名称?

Php 如何从订单中获取客户名称?,php,magento,Php,Magento,我在action下拉列表(sales->orders)中添加了一个自定义选项Complete。工作正常,订单状态更改成功完成 我正在将所有订单与Salesforce集成。我需要通过orderid获得所有订单详细信息。已成功获取物料明细和总计 任何人都可以帮助获取客户姓名和他/她的公司名称以及如何提交订单。以下是获取订单详细信息的完整代码: $order = Mage::getModel('sales/order')->load($orderId); $items = $order->

我在action下拉列表(sales->orders)中添加了一个自定义选项
Complete
。工作正常,订单状态更改成功完成

我正在将所有订单与
Salesforce
集成。我需要通过
orderid
获得所有订单详细信息。已成功获取物料明细和总计

任何人都可以帮助获取
客户
姓名和他/她的公司名称以及如何提交订单。以下是获取订单详细信息的完整代码:

$order = Mage::getModel('sales/order')->load($orderId);
$items = $order->getAllItems();
$_totalData = $order->getData();
$_grand = $_totalData['grand_total'];
$custname = $_totalData->getCustomerName();
$itemcount=count($items);
foreach ($items as $itemId => $item)
{
    $sObject2->Item_name__c = $item->getName();
    $sObject2->Unit_price__c = $item->getPrice();
    $sObject2->Sku__c = $item->getSku();
    $sObject2->Quantity__c = $item->getQtyToInvoice();
}
试试这个

$order->getCustomerName()

您可能不需要将
$order->getData()
强制转换为新变量。这只会占用内存,特别是因为您只需要从该数据中提取一个元素,可以使用不太密集的方法进行检索

相反,可以这样尝试:

$order = Mage::getModel('sales/order')->load($orderId);
$_grand = $order->getGrandTotal();
$custname = $order->getCustomerName();
foreach ($order->getAllItems() as $itemId => $item)
{
  // Do stuff
}
如果
$order->getCustomerName()
不适合您,请尝试:

$order->getBillingAddress()->getName();

谢谢安东,这对我有用。我需要customerid,我可以通过您的建议轻松获取它们。如果是客人结账单,则不会返回名称!编辑订单时-无法获取数据-$order->getCustomerFirstname()因为不存在。最好使用$order->getBillingAddress()->getFirstname();嗨,迈克,有没有文档可以查看所有可用的方法?
$custname = $Order->getCustomer()->getName();