如何输出Magento的交付说明?
我正在尝试创建一个可以通过URL访问的脚本,以便它输出交付详细信息,特别是我需要显示的字段是:orderID、status、gift_message和一个称为“delivery_instructions”的自定义客户地址属性。到目前为止,我有以下内容,但我一直在努力获取交付说明,任何帮助都将不胜感激如何输出Magento的交付说明?,magento,Magento,我正在尝试创建一个可以通过URL访问的脚本,以便它输出交付详细信息,特别是我需要显示的字段是:orderID、status、gift_message和一个称为“delivery_instructions”的自定义客户地址属性。到目前为止,我有以下内容,但我一直在努力获取交付说明,任何帮助都将不胜感激 <?php require_once 'app/Mage.php'; Mage::app('default'); $myOrder=Mage::getModel('sales/order');
<?php
require_once 'app/Mage.php';
Mage::app('default');
$myOrder=Mage::getModel('sales/order');
$orders=Mage::getModel('sales/mysql4_order_collection');
$message = Mage::getModel('giftmessage/message');
$customer = Mage::getModel('customer/customer');
$orders->addFieldToFilter('total_paid',Array('gt'=>0)); //Amount paid larger than 0
//$orders->addFieldToFilter('gift_message_id',Array('gt'=>0));
$allIds=$orders->getAllIds();
foreach($allIds as $thisId) {
$myOrder->reset()->load($thisId);
$shippingAddress = $myOrder->getShippingAddress();
$customerDetails = $myOrder->getCustomer();
//echo $myOrder->shippingaddress->getData('delivery_instructions');
$customer_id = $myOrder->getCustomerId() . "',";
echo $customer_id . "',";
echo "'" . $myOrder->getStatus() . "',";
echo "'" . $myOrder->getIncrementID() . "',";
$gift_message_id = $myOrder->getGiftMessageId();
if(!is_null($gift_message_id)) {
$message->load($gift_message_id);
echo $gift_message = $message->getData('message') . "',";
};
$customer = Mage::getModel('customer/customer')->load( $customer_id);
echo $customer = $customer->getData('incrementId');
echo "\r\n";
echo "<br/ >";
}
?>
您已接近这一点:
//echo $myOrder->shippingaddress->getData('delivery_instructions');
要获取shipping address对象,您需要使用:
$myOrder->getShippingAddress()
以及从shipping address对象获取delivery_指令:
$myOrder->getShippingAddress()->getDeliveryInstructions()
您可以创建自定义地址属性和自定义客户属性
可以通过以下方式访问客户属性:
// A customer is not mandatory for an order.
if($myOrder->getCustomerId()){
$customer = Mage::getModel(’customer/customer’)->load($myOrder->getCustomerId());
$customer->getDeliveryInstructions();
}
$myOrder->getShippingAddress()->getDeliveryInstructions();
地址属性的访问方式如下:
// A customer is not mandatory for an order.
if($myOrder->getCustomerId()){
$customer = Mage::getModel(’customer/customer’)->load($myOrder->getCustomerId());
$customer->getDeliveryInstructions();
}
$myOrder->getShippingAddress()->getDeliveryInstructions();
谢谢你的回复。尽管这似乎得到了字段delivery_指令,而不是在客户级别创建的自定义属性。有什么想法吗?请看@i.amniels回复。。。从任何对象获取属性类似于:$object->getCamelCaseAttributeName()