Dobry wieczór, jest możliwość by do wyszukiwarki dodać jeszcze wyszukiwanie po cenie? Wiem, że jest taka funkcja w wersji płatnej z tego co widziałem ale zastanawiam się czy można by jakoś dodać to w wersji darmowej? Przeglądałem forum i znalazłem jedynie coś na temat dodawania kolejnych baz jak dobrze zrozumiałem: http://opensolution.org/forum/wyszukiwarka-dodanie-kolejnej-bazy,8243.html http://opensolution.org/forum/wyszukiwarka-a-cechy-produktu-jak-polaczyc-,7036.html Będę wdzięczny za każdą poradę / podpowiedź. Pozdrawiam
Kiedyś się w to bawiłem w wersji QC4.x http://www.kimla.de/qc42adsearch/ Trzebaby dopasować deczko do wersji QC6.x Poniżej zmieniona funkcja z QC4.2 Porównaj z oryginalną i dopasuj do QC6.x Oczywiście trzeba jeszcze dodać pola i wprowadzić mała korektę w index.php Ja na razie mam mało ochoty na dopasowanie do wersji 6.x (chyba, że mnie przekonasz :-) )
public function generateProductsSearchListArray($sPhrase){ if(isset($this->aProducts)){ $aExp=explode(' ',$sPhrase); $iCount=count($aExp); for($i=0;$i<$iCount;$i++){ $aExp[$i]=trim($aExp[$i]); if(!empty($aExp[$i])) $aWords[]=$aExp[$i]; } // end for if(isset($aWords)&&is_array($aWords)&&function_exists('saveSearchedWords')&&defined('CUSTOMER_PAGE')) saveSearchedWords($aWords); $iCount=isset($aWords)?count($aWords):0; foreach($this->aProducts as $iProduct=>$aData){ $iFound=0; $sSearchData=implode(' ',$aData); if(isset($sPhrase)&&!empty($sPhrase)){ for($i=0;$i<$iCount;$i++){ if(stristr($sSearchData,$aWords[$i])) $iFound++; } // end for if($iFound==$iCount) $aFound[$iProduct]=true; else $aNotFound[$iProduct]=true; } } if(isset($aNotFound)&&($GLOBALS['config']['search_products_description']===true||!defined('CUSTOMER_PAGE'))){ $rFile=fopen(DB_PRODUCTS_EXT,'r'); $i2=0; while(($aFile=fgetcsv($rFile,200000,'$'))!==FALSE){ if($i2>=1&&isset($aNotFound[$aFile[0]])){ $iFound=0; $sSearchData=implode(' ',$aFile); for($i=0;$i<$iCount;$i++){ if(stristr($sSearchData,$aWords[$i])) $iFound++; } // end for if($iFound==$iCount) $aFound[$aFile[0]]=true; } $i2++; } // end while fclose($rFile); } foreach($this->aProducts as $iProduct=>$aData){ if( isset($GLOBALS['sPriceFrom']) &&is_numeric($GLOBALS['sPriceFrom']) &&$GLOBALS['sPriceFrom']>0 &&$GLOBALS['sPriceFrom']<=$this->aProducts[$iProduct]['mPrice'] &&!isset($GLOBALS['sPriceTo']) ) { $aFoundPrice[$iProduct]=true; } else if( isset($GLOBALS['sPriceTo']) &&is_numeric($GLOBALS['sPriceTo']) &&$GLOBALS['sPriceTo']>0 &&$GLOBALS['sPriceTo']>=$this->aProducts[$iProduct]['mPrice'] &&(!isset($GLOBALS['sPriceFrom'])||$GLOBALS['sPriceFrom']==0) ) { $aFoundPrice[$iProduct]=true; } else if( isset($GLOBALS['sPriceFrom']) &&is_numeric($GLOBALS['sPriceFrom']) &&$GLOBALS['sPriceFrom']>0 &&isset($GLOBALS['sPriceTo']) &&is_numeric($GLOBALS['sPriceTo']) &&$GLOBALS['sPriceTo']>0 &&$GLOBALS['sPriceFrom']<=$this->aProducts[$iProduct]['mPrice'] &&$GLOBALS['sPriceTo']>=$this->aProducts[$iProduct]['mPrice'] ) { $aFoundPrice[$iProduct]=true; } } if(isset($aFound)&&isset($aFoundPrice)){ $fCount=count($aFound); $aFoundKeys=array_keys($aFound); for($i=0;$i<$fCount;$i++){ $iKeyFound=$aFoundKeys[$i]; if(isset($aFoundPrice[$iKeyFound])){ $aFoundAll[$iKeyFound]=true; } } } if(isset($sPhrase)&&!empty($sPhrase)&&(!isset($aFoundPrice)||empty($aFoundPrice))) $aFound=$aFound; if((!isset($sPhrase)||empty($sPhrase))&&isset($aFoundPrice)&&!empty($aFoundPrice)) $aFound=$aFoundPrice; if(isset($sPhrase)&&!empty($sPhrase)&&isset($aFoundPrice)&&!empty($aFoundPrice)) $aFound=isset($aFoundAll)?$aFoundAll:null; if(isset($aFound)){ foreach($this->aProducts as $iProduct=>$aData){ if(isset($aFound[$iProduct])) $aReturn[]=$iProduct; } if(isset($aReturn)) return $aReturn; } } } // end function generateProductsSearchListArray
pokaż mi parę przykładów skórek, a powiem Ci... :-) Prawdą jest, że przydałaby mi się ładna szata graficzna do tego: http://www.kimla.de/qc6test/ Tematyka strzelecka. Sport strzelecki, nie myśliwstwo. I badziej poszukuję koncepcji graficznej. Bo jak coś ładnego zobaczę - tylko naprawdę musi mnie to wizualnie przekonać - to "wprogramować" mogę to sobie sam ;-)
Na razie zrobiłem liczniki odwiedzin stron i produktów: http://www.kimla.de/qc6test/ (admin, admin) Przez święta powinienem wyrobić się czasowo z wyszukiwaniem po cenach. :-)
zdefiniować w general.php odpowiednie bazy: DB_PAGES_VIEWS i DB_PRODUCTS_VIEWS (tak jak są zdefinowane np. DB_PRODUCTS_FILES) W klasie PagesAdmin dodać zmienną:
private $aViews=null;
i funkcję:
private function throwPageViews(){ $oFFS=FlatFilesSerialize::getInstance(); $this->aViews=$oFFS->getData(DB_PAGES_VIEWS); }
Potem w templacie admina pages.php odpowiednio rozszerzyć nagłówek tabeli o "Views", nie zapominając o "colspan" przy linijkach z guzikami. Teraz w plugins.php dodać funkcję:
A i jeszcze zdefiniować w general.php $config['disable_agents'] = 'spider|crawler|curl|google|Ezooms|bot|Slurp|yandex|yahoo'; (rozszerzać według potrzeb i pojawiania się nowych "łobuzów")
Więc tak, odnalazłem plik;) core/pages-admin.php i dokonałem modyfikacji j/w następnie dodałem resztę oraz w templates/admin/pages.php dodałem "Views" oraz zmieniłem "colspan" z 5 na 6 jednak wszystko się przesunęło :( Jak zrobić by było na swoim miejscu?
Boboo dokładnie o to chodziło i działa idealnie, widzę, że dodałeś wyszukiwanie też w produktach, stronach osobno po zaznaczeniu oraz po produktach i stronach łącznie.