コード例 #1
1
 protected function getMultipleProductsInfo()
 {
     $order_lines = field_get_items('commerce_order', $this->datasources["order"], 'commerce_line_items');
     $line_item_ids = array();
     foreach ($order_lines as $order_line) {
         $line_item_ids[] = $order_line['line_item_id'];
     }
     $line_items = commerce_line_item_load_multiple($line_item_ids);
     $product_ids = array();
     $cant_prod = array();
     foreach ($line_items as $line_item) {
         $tmp = field_get_items('commerce_line_item', $line_item, 'commerce_product');
         $cant_prod[$tmp[0]['product_id']] = round($line_item->quantity);
         $product_ids[] = $tmp[0]['product_id'];
     }
     $products = commerce_product_load_multiple($product_ids);
     $code = array();
     $description = array();
     $name = array();
     $sku = array();
     $total = array();
     $quantity = array();
     $unit = array();
     foreach ($products as $item) {
         $code[] = $this->getCategoryArray($item);
         if (!empty($item->description)) {
             $desc = $item->description;
         } else {
             $desc = $item->title;
         }
         $desc = strip_tags($desc);
         $desc = TodoPago\Sdk::sanitizeValue($desc);
         $desc = substr($desc, 0, 50);
         $description[] = $desc;
         $name[] = substr($item->title, 0, 250);
         $sku[] = substr(empty($item->sku) ? $item->product_id : $item->sku, 0, 250);
         $total[] = number_format(commerce_currency_amount_to_decimal($item->commerce_price[LANGUAGE_NONE][0]["amount"], $item->commerce_price[LANGUAGE_NONE][0]["currency_code"]) * $cant_prod[$item->product_id], 2, ".", "");
         $quantity[] = $cant_prod[$item->product_id];
         $unit[] = number_format(commerce_currency_amount_to_decimal($item->commerce_price[LANGUAGE_NONE][0]["amount"], $item->commerce_price[LANGUAGE_NONE][0]["currency_code"]), 2, ".", "");
     }
     $productsData = array('CSITPRODUCTCODE' => join("#", $code), 'CSITPRODUCTDESCRIPTION' => join("#", $description), 'CSITPRODUCTNAME' => join("#", $name), 'CSITPRODUCTSKU' => join("#", $sku), 'CSITTOTALAMOUNT' => join("#", $total), 'CSITQUANTITY' => join("#", $quantity), 'CSITUNITPRICE' => join("#", $unit));
     return $productsData;
 }
コード例 #2
0
 protected function getMultipleProductsInfo()
 {
     $productos = $this->datasources["cart"]->getProducts();
     $code = array();
     $description = array();
     $name = array();
     $sku = array();
     $total = array();
     $quantity = array();
     $unit = array();
     foreach ($productos as $item) {
         $prodDescription = "";
         $code[] = $this->getCategoryArray($item['id_product']);
         //obtengo el string para CSITPRODUCTDESCRIPTION
         $prodDescription = TodoPago\Sdk::sanitizeValue($this->getProdDescription($item['id_product']));
         $prodDescription = trim($prodDescription);
         if ($prodDescription == null || $prodDescription == "") {
             if ($item['description_short'] == null || $item['description_short'] == "") {
                 $prodDescription = TodoPago\Sdk::sanitizeValue($item['name']);
                 $prodDescription = trim($prodDescription);
             } else {
                 $prodDescription = TodoPago\Sdk::sanitizeValue($item['description_short']);
                 $prodDescription = trim($prodDescription);
             }
         }
         if (empty($prodDescription)) {
             $prodDescription = "product";
         }
         $prodDescription = str_replace("#", "", $prodDescription);
         $prodDescription = strip_tags($prodDescription);
         $desc = $prodDescription;
         $desc = substr($desc, 0, 50);
         $description[] = $desc;
         $name[] = substr($item['name'], 0, 250);
         $sku[] = substr(empty($item['reference']) ? $item['id_product'] : $item['reference'], 0, 250);
         $total[] = number_format($item['total_wt'], 2, ".", "");
         $quantity[] = number_format($item['cart_quantity'], 0, ".", "");
         $unit[] = number_format($item['price_wt'], 2, ".", "");
     }
     $productsData = array('CSITPRODUCTCODE' => join("#", $code), 'CSITPRODUCTDESCRIPTION' => join("#", $description), 'CSITPRODUCTNAME' => join("#", $name), 'CSITPRODUCTSKU' => join("#", $sku), 'CSITTOTALAMOUNT' => join("#", $total), 'CSITQUANTITY' => join("#", $quantity), 'CSITUNITPRICE' => join("#", $unit));
     return $productsData;
 }
コード例 #3
0
 public function getField($datasources)
 {
     $return = "";
     try {
         $this->logger->debug('entró: ' . $datasources);
         $return = TodoPago\Sdk::sanitizeValue($datasources);
         $return = str_replace('#', '', $return);
         $this->logger->info("devolvio: " . $return);
     } catch (Exception $e) {
         $this->logger->error("No se pudo agregar el campo", $e);
     }
     return $return;
 }