Modyfikacja wyszukiwarki

LiderBudowlany

Avatar: LiderBudowlany

2016-03-29 12:29

Witam, obecnie wyszukiwarka w quickcart bierze pod uwagę wszelkie pola danego produktu (nazwa, dodatkowe pole dodane w skrypcie, opis), chciałbym tak przerobić wyszukiwarkę aby wyszukiwała produkty tylko pod względem jednego pola, ponieważ tworzę dodatkową drugą wyszukiwarkę, która będzie wyszukiwała produkty względem tego dodatkowego pola w produkcie. Stąd też moje pytanie i prośba o pomoc - jakie zmiany nanieść w kodzie aby wyszukiwarka brała pod uwagę np. tylko Nazwę produktu albo dodatkowe pole produktu, które nazywa się np. "Product_field". Z góry dziękuje za wszelkie wskazówki. Poniżej kod, który jest odpowiedzialny za działanie wyszukiwarki, chyba, że te zmiany powinienem nanieść w innej części kodu.

public function generateProductsSearchListArray$sPhrase ){
    if( isset( 
$this->aProducts ) ){
      
$aWords getWordsFromPhrase$sPhrase );
      
$iCount count$aWords );

      if( isset( 
$this->aPages ) ){
        
$aProductsPages $this->generateProductsListArraytrue );
      }

      foreach( 
$this->aProducts as $iProduct => $aProduct ){
        
$bSearch null;
        if( isset( 
$this->aPages ) ){
          if( isset( 
$aProductsPages[$iProduct] ) )
            
$bSearch true;
        }
        else
          
$bSearch true;

        if( isset( 
$bSearch ) && findWords$aWords$iCountimplode' '$aProduct ) ) )
          
$aProducts[] = $iProduct;
      }

      if( isset( 
$aProducts ) )
        return 
$aProducts;
    }
  } 

» Quick.Cart v6.x

Lider Budowlany

selekcjoner

Avatar: selekcjoner

2016-03-29 12:44

Zamiast implode( ' ', $aProduct ) wstaw $aProduct['Product_field']
Nie sprawdzałem.

LiderBudowlany

Avatar: LiderBudowlany

2016-03-29 12:53

Działa idealnie, wielkie dzięki :)

Dodam jedynie dla potomnych, że gdyby ktoś też coś takiego potrzebował a korzystał z pluginu na dodatkowe pole produktu to w oficjalnym poradniku to pole jednak nazywa się sField, tak gdyby ktoś nie zmieniał nazw zmiennych to poprawny fragment kodu będzie następujący: $aProduct['sField']

Lider Budowlany

Do góry
o nas | kontakt