Example #1
0
 /**
  * Get product pack items
  *
  * @param int $id_product
  * @param int $id_lang
  */
 public function getItems($id_product, $id_lang)
 {
     $packItems = \PackCore::getItems($id_product, $id_lang);
     foreach ($packItems as $k => $packItem) {
         $cover = $packItem->id_pack_product_attribute ? \Product::getCombinationImageById($packItem->id_pack_product_attribute, $id_lang) : \Product::getCover($packItem->id);
         $packItem->image = \Context::getContext()->link->getImageLink($packItem->link_rewrite, $cover ? $cover['id_image'] : '', 'home_default');
     }
     return $packItems;
 }
 /**
  * Get an array of pack items for display from the product object if specified, else from POST/GET values
  *
  * @param Product $product
  * @return array of pack items
  */
 public function getPackItems($product = null)
 {
     $pack_items = array();
     if (!$product) {
         $names_input = Tools::getValue('namePackItems');
         $ids_input = Tools::getValue('inputPackItems');
         if (!$names_input || !$ids_input) {
             return array();
         }
         // ids is an array of string with format : QTYxID
         $ids = array_unique(explode('-', $ids_input));
         $names = array_unique(explode('¤', $names_input));
         if (!empty($ids)) {
             $length = count($ids);
             for ($i = 0; $i < $length; $i++) {
                 if (!empty($ids[$i]) && !empty($names[$i])) {
                     list($pack_items[$i]['pack_quantity'], $pack_items[$i]['id']) = explode('x', $ids[$i]);
                     $exploded_name = explode('x', $names[$i]);
                     $pack_items[$i]['name'] = $exploded_name[1];
                 }
             }
         }
     } else {
         $i = 0;
         foreach ($product->packItems as $pack_item) {
             $pack_items[$i]['id'] = $pack_item->id;
             $pack_items[$i]['pack_quantity'] = $pack_item->pack_quantity;
             $pack_items[$i]['name'] = $pack_item->name;
             $pack_items[$i]['reference'] = $pack_item->reference;
             $pack_items[$i]['id_product_attribute'] = isset($pack_item->id_pack_product_attribute) && $pack_item->id_pack_product_attribute ? $pack_item->id_pack_product_attribute : 0;
             $cover = $pack_item->id_pack_product_attribute ? Product::getCombinationImageById($pack_item->id_pack_product_attribute, Context::getContext()->language->id) : Product::getCover($pack_item->id);
             $pack_items[$i]['image'] = Context::getContext()->link->getImageLink($pack_item->link_rewrite, $cover['id_image'], 'home_default');
             // @todo: don't rely on 'home_default'
             //$path_to_image = _PS_IMG_DIR_.'p/'.Image::getImgFolderStatic($cover['id_image']).(int)$cover['id_image'].'.jpg';
             //$pack_items[$i]['image'] = ImageManager::thumbnail($path_to_image, 'pack_mini_'.$pack_item->id.'_'.$this->context->shop->id.'.jpg', 120);
             $i++;
         }
     }
     return $pack_items;
 }
 public function getPackItems($product = null)
 {
     $pack_items = array();
     if (!$product) {
         $names_input = Tools::getValue('namePackItems');
         $ids_input = Tools::getValue('inputPackItems');
         if (!$names_input || !$ids_input) {
             return array();
         }
         $ids = array_unique(explode('-', $ids_input));
         $names = array_unique(explode('¤', $names_input));
         if (!empty($ids)) {
             $length = count($ids);
             for ($i = 0; $i < $length; $i++) {
                 if (!empty($ids[$i]) && !empty($names[$i])) {
                     list($pack_items[$i]['pack_quantity'], $pack_items[$i]['id']) = explode('x', $ids[$i]);
                     $exploded_name = explode('x', $names[$i]);
                     $pack_items[$i]['name'] = $exploded_name[1];
                 }
             }
         }
     } else {
         $i = 0;
         foreach ($product->packItems as $pack_item) {
             $pack_items[$i]['id'] = $pack_item->id;
             $pack_items[$i]['pack_quantity'] = $pack_item->pack_quantity;
             $pack_items[$i]['name'] = $pack_item->name;
             $pack_items[$i]['reference'] = $pack_item->reference;
             $pack_items[$i]['id_product_attribute'] = isset($pack_item->id_pack_product_attribute) && $pack_item->id_pack_product_attribute ? $pack_item->id_pack_product_attribute : 0;
             $cover = $pack_item->id_pack_product_attribute ? Product::getCombinationImageById($pack_item->id_pack_product_attribute, Context::getContext()->language->id) : Product::getCover($pack_item->id);
             $pack_items[$i]['image'] = Context::getContext()->link->getImageLink($pack_item->link_rewrite, $cover['id_image'], 'home_default');
             $i++;
         }
     }
     return $pack_items;
 }