在产品显示页面,通常会根据产品的重量、用户选择产品的个数与目的地显示平邮与快递的价格,供用户参考。在集成过程中,可能调用我们的getRates获取ISHIP的所有可行的运费计算规则,然后搞照ISHIP的分类(China Postal Service,China Registered Postal,China Express Mail)取得第一个也就是价格最低的此类型的运输方式,供用户选择。
define('REQUIRECOUNTRYURL','http://www.sendfromchina.com/shipfee/country_list');//http require URL for iship country
define('REQUIRERATE','http://www.sendfromchina.com/shipfee/out_rates');//http require URL for iship shipping Rates
$countryName = @$_POST['countryName'];
$quantity = @$_POST['quantity'];
if($quantity == null){
$quantity = 1;
}
if($countryName == null){
$countryName = "Canada";
}
$preItemFee = 18;
$preWeight = 0.125;
$profile = '?country='.$countryName.'&weight='.$preWeight * $quantity ;
?>
window.οnlοad=function(){
document.forms['form1'].quantity.value= '<?php echo $quantity ?>';
document.forms['form1'].countryName.value= '<?php echo $countryName ?>';
}
function shipincart_submit(country){
document.form1.submit();
}
Estimate Shipping Costs
Quantity: 1 2 3 4 5 6 7 8 9 10 | Weight: <?php echo $preWeight * $quantity ;?> kg | Item cost: <?php echo $preItemFee*$quantity ?> CNY | |||
Shipping to(Country): | $doc = new DOMDocument(); $doc->load( REQUIRECOUNTRYURL ); $dataset = $doc->getElementsByTagName( "country" ); foreach( $dataset as $row ){ $countryNames = $row->getElementsByTagName( "englishname" ); $countryName = $countryNames->item(0)->nodeValue; ?> } ?> | ||||
$doc1 = new DOMDocument(); $doc1->load( REQUIRERATE .$profile); // Load the call and capture the document returned by sendfromchina.com API $dataset = $doc1->getElementsByTagName( "rate" ); // Check to see if the response was loaded, else print an error if(@$dataset->item(0)->nodeValue){ foreach( $dataset as $row ){ $classtypes = $row->getElementsByTagName( "classtype" ); $classtype = $classtypes->item(0)->nodeValue; switch ($classtype){ case 'China Postal Service': $key = 'CPS'; $name = 'Standard'; break; case 'China Registered Postal': $key = 'CRP'; $name = 'Registered'; break; case 'China Express Mail': $key = 'CEM'; $name = 'Expedited'; break; } if($Rates[$key] != ture){ $totalfees = $row->getElementsByTagName( "totalfee" ); $totalfee = $totalfees->item(0)->nodeValue; $iftrackings = $row->getElementsByTagName( "iftracking" ); $byvolumes = $row->getElementsByTagName( "byvolume" ); $shiptypes = $row->getElementsByTagName( "shiptypename" ); $Rates[$key] = ture; ?> | |||||
<?php echo $name; ?> | <?php echo $totalfee ?> CNY | <?php echo $totalfee + $preItemFee*$quantity ?> CNY |
}
}
?>
//var_dump($Rates);
}
?>