예제 #1
0
 /**
  * Method to give profiles's shipping methods.
  *
  * @param   integer  $item_id         item_id of product .
  * @param   Array    $address         address object
  * @param   Array    $cartItemDetail  Single cart item Detail .
  * @param   Array    $shipMethod      Shipping method detail eg methodId,client, .
  *
  * @since   2.2
  * @return   null
  */
 public function getItemsShipMethods($item_id, $address, $cartItemDetail, $shipMethod)
 {
     $shipMethsDetail = array();
     $profieId = $this->getItemsShipProfileId($item_id);
     $productHelper = new productHelper();
     // $address->billing_address = $post->get('bill', array(), 'ARRAY');
     // $address->shipping_address
     $vars = new stdClass();
     $vars->productDetail = $productHelper->getProductsShipRelFields($item_id);
     $vars->billing_address = $address->billing_address;
     $vars->shipping_address = $address->shipping_address;
     $vars->ship_chk = $address->ship_chk;
     $vars->shipMethId = $shipMethod['methodId'];
     $vars->cartItemDetail = $cartItemDetail;
     if (!empty($shipMethod['client'])) {
         // Call specific plugin trigger
         JPluginHelper::importPlugin('tjshipping', $shipMethod['client']);
         $dispatcher = JDispatcher::getInstance();
         $plgRes = $dispatcher->trigger('TjShip_getShipMethodChargeDetail', array($vars));
         $plgActionRes = array();
         if (!empty($plgRes)) {
             $plgActionRes = $plgRes[0];
             if (!empty($plgActionRes)) {
                 $plgActionRes['client'] = $shipMethod['client'];
             }
             $shipMethsDetail = $plgActionRes;
         }
     }
     return $shipMethsDetail;
 }