Shipping cost Displayed on Product Details Page
from weight_countries.php:
function plgVmOnProductDisplayShipment($product, &$productDisplayShipments){
if ($this->getPluginMethods($product->virtuemart_vendor_id) === 0) {
return FALSE;
}
if (!class_exists('VirtueMartCart'))
require(VMPATH_SITE . DS . 'helpers' . DS . 'cart.php');
$html = '';
if (!class_exists('CurrencyDisplay'))
require(JPATH_VM_ADMINISTRATOR . DS . 'helpers' . DS . 'currencydisplay.php');
$currency = CurrencyDisplay::getInstance();
foreach ($this->methods as $this->_currentMethod) {
if($this->_currentMethod->show_on_pdetails){
if(!isset($cart)){
$cart = VirtueMartCart::getCart();
$cart->products['virtual'] = $product;
$cart->_productAdded = true;
$cart->prepareCartData();
}
if($this->checkConditions($cart,$this->_currentMethod,$cart->cartPrices)){
$product->prices['shipmentPrice'] = $this->getCosts($cart,$this->_currentMethod,$cart->cartPrices);
if(isset($product->prices['VatTax']) and count($product->prices['VatTax'])>0){
reset($product->prices['VatTax']);
$rule = current($product->prices['VatTax']);
if(isset($rule[1])){
$product->prices['shipmentTax'] = $product->prices['shipmentPrice'] * $rule[1]/100.0;
$product->prices['shipmentPrice'] = $product->prices['shipmentPrice'] * (1 + $rule[1]/100.0);
}
}
$html[$this->_currentMethod->virtuemart_shipmentmethod_id] = $this->renderByLayout( 'default', array("method" => $this->_currentMethod, "cart" => $cart,"product" => $product,"currency" => $currency) );
}
}
}
if(isset($cart)){
unset($cart->products['virtual']);
$cart->_productAdded = true;
$cart->prepareCartData();
}
$productDisplayShipments[] = $html;
}