2015-07-17 4 views
0

Я пытаюсь реализовать и получить некоторые партнерские расчеты с сайта success.phtml. Все работает хорошо, кроме «bd», который должен быть общим, без стоимости доставки. Я мог бы пропустить что-то в коде bd. Я новичок в php-коде. Пожалуйста, помогите мне в решении этой проблемы! Please look into screenshotКак получить общую сумму без стоимости доставки из заказа Magento?

<?php 
// Add this to the file in the following path: app/design/frontend/[package]/[theme]/template/checkout/success.phtml 
$iProgramId = 9560; // Insert your Program ID here 

// Add the matching domain here. 
$sMatchingDomain = 'https://dt51.net'; //For example: ds1.nl or dt51.net 


// Retrieve order details and billing address 
$oOrderDetails = Mage::getModel('sales/order')->loadByIncrementId($this->getOrderId()); 
$aBillingAddressData = $oOrderDetails->getBillingAddress(); 
$amount = $order->getGrandTotal() - $order->getShippingAmount(); 


foreach ($oOrderDetails->getAllItems() as $oItem) 
{ 
    break; 
} 

$aVariables = array(
    'si' => $iProgramId, 
    'ti' => $this->getOrderId(), 
    'oa' => substr($oItem->getName(), 0, 50), 
    'om' => substr($oItem->getName(), 0, 50), 
    'bd' => number_format($oOrderDetails->getGrandTotal - $oOrderDetails->getShippingAmount(), 2, '.', ''), 
    'ln' => $aBillingAddressData['country_id'], 
    'pc' => $aBillingAddressData['postcode'], 
    'rv' => number_format($oOrderDetails->getGrandTotal(), 2, '.', ''), 
    'e1' => $oOrderDetails->getPayment()->getMethodInstance()->getTitle(), 
    'e2' => $oItem->getSku(), 
    'e3' => round($oItem->getQtyOrdered(), 0) 
); 
$sUrl = "".$sMatchingDomain."/t/"; 
$sGlue = "?"; 

foreach ($aVariables as $sKey => $mValue) 
{ 
    $sUrl .= $sGlue.$sKey."=".urlencode($mValue); 
    $sGlue = "&"; 
} 

echo '<img src="'.$sUrl.'" style="border: 0px; height: 1px; width: 1px;" alt="Affiliate Marketing" />'; 
?> 

ответ

0

Вы сделали ошибку в следующей строке. getGrandTotal()

'bd' => number_format($oOrderDetails->getGrandTotal - $oOrderDetails->getShippingAmount(), 2, '.', '') 

Заменить этот

'bd' => number_format($oOrderDetails->getGrandTotal() - $oOrderDetails->getShippingAmount(), 2, '.', ''), 
+0

Большое спасибо за ваш ответ. Я исправил ваш код, но все равно не повезло. Его не подсчитывает общий итог без цены перевозкы груза. с getSubtotal(), я могу получить цену без налога, с getGrandTotal() я могу получить Grand Total, но я не получаю общую сумму без стоимости доставки с помощью ($ oOrderDetails-> getGrandTotal() - $ oOrderDetails-> getShippingAmount(), 2 , '.', ''), – adder757

+0

Получали ли вы стоимость доставки? –

+0

Нет, я не получаю никакой стоимости доставки. Это фиксированная ставка 6,90 евро. Возможно ли получить значение «bd», как показано ниже «bd» => number_format ($ oOrderDetails-> getGrandTotal() - 6.90 – adder757

Смежные вопросы