Пример #1
0
 /**
  * Set the refine option
  *
  * @return array $aItems Autocompletion items (suggestions, products)
  */
 public function getAutocomplete()
 {
     parent::process();
     if (!$this->oPrediggoConfig->autocompletion_active) {
         return '';
     }
     $aItems = array();
     /* If $sQuery is empty return the prediggo suggestion and products */
     if (strlen($this->sQuery) >= $this->oPrediggoConfig->search_nb_min_chars && ($oPrediggoResult = $this->launchAutoComplete())) {
         foreach ($oPrediggoResult->getSuggestedWords() as $oSuggestedWords) {
             $this->context->smarty->assign(array('oSuggestedWords' => $oSuggestedWords));
             $aItems[] = array('value' => $this->module->displayAutocompleteDidYouMean($oSuggestedWords), 'link' => $this->context->link->getModuleLink('prediggo', 'search') . '?q=' . $oSuggestedWords->getWord(), 'notificationId' => '', 'isRecommendation' => false);
         }
         foreach ($this->oPrediggoCall->getSuggestedProducts($oPrediggoResult, (int) $this->context->cookie->id_lang, (int) $this->oPrediggoConfig->autocompletion_nb_items) as $aRecommendation) {
             $this->context->smarty->assign(array('aRecommendation' => $aRecommendation));
             $aItems[] = array('value' => $this->module->displayAutocompleteProduct(), 'link' => $aRecommendation['link'], 'notificationId' => $aRecommendation['notificationId'], 'isRecommendation' => true);
         }
     } elseif (strlen($this->sQuery) == 0) {
         if ($aSuggestWords = explode(',', $this->oPrediggoConfig->suggest_words[(int) $this->context->cookie->id_lang])) {
             foreach ($aSuggestWords as $sSuggestWord) {
                 $this->context->smarty->assign(array('sSuggestWord' => trim($sSuggestWord)));
                 $aItems[] = array('value' => $this->module->displayAutocompleteSuggest(), 'link' => $this->context->link->getModuleLink('prediggo', 'search') . '?q=' . $sSuggestWord, 'notificationId' => '', 'isRecommendation' => false);
             }
         }
     }
     return $aItems;
 }