예제 #1
0
 /**
  * @param int $limit
  * @param string $lastID
  * @return Array|null
  */
 public static function getProducts($limit = 10, $lastID = null)
 {
     try {
         $products = \plenigo\services\ProductService::getProductList($limit, $lastID);
     } catch (Exception $e) {
         self::PIO()->log("getProducts: ", $e->getMessage());
         return null;
     }
     return $products;
 }
 /**
  * we insert a customized list in the News backendView
  * @param $config
  * @return null
  */
 function extendedProducts($config)
 {
     $this->init();
     // get our Products first
     try {
         $products = \plenigo\services\ProductService::getProductList(20, null);
     } catch (Exception $e) {
         \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($e->getMessage());
         return $config;
     }
     // our "cached" products
     $productsFromDB = $this->getPlenigoProductIDs();
     // create option list
     $optionList = array();
     $optionList[] = array('', 'keine Zuordnung');
     // Iterating our products
     if (is_array($products) && $products['totalElements']) {
         foreach ($products['elements'] as $product) {
             // creating new or missing products
             //                    \TYPO3\CMS\Extbase\Utility\DebuggerUtility::var_dump($product);
             if (!$productsFromDB[$product->productId]) {
                 $id = $this->insertProduct($product);
             } else {
                 $id = $productsFromDB[$product->productId]['uid'];
             }
             //                $data[] = array('uid' => $id, 'title' => $product->title, 'subtitle' => $product->description);
             $optionList[] = array(0 => $product->title, 1 => $id);
         }
         $config['items'] = $optionList;
     }
     return $config;
 }