odnośnie cms, chodzi mi o wyświetlanie losowego zdjęcia, tak jak w cart losowy produkt, idąc dalej można się pokusić o modyfikację bazy, żeby wyświetlać najnowsze zdjęcie, ostatnio dodane czy najbardziej oglądane, ostatnio oglądane. Tego jeszcze nie było, albo nie znalazłem rozwiązania,
No tak tyle, że ta modyfikacja może się przydać chyba tylko i wyłącznie osobom, które wykorzystują nasz skrypt do tworzenia galerii internetowych. Wątpię, żeby ktoś taką modyfikację wykonywał i podzielił się gotowym rozwiązaniem. Jeśli znasz PHP to zasada działania będzie bardzo podobna jak w przypadku pluginu wyświetlającego losowy produkt.
odnośnie quick.cms, chodzi mi o wyświetlanie losowego zdjęcia, tak jak to jest w cart losowy produkt, idąc dalej można się pokusić żeby wyświetlać najnowsze zdjęcie, ostatnio dodane czy najbardziej oglądane, ostatnio oglądane.Nie chodzi mi o banery tylko o pliki jpg, w zakładce nowa strona, że jeżeli powstanie nowa strona ze zdjęciami, to najnowsze zdjęcie zostanie wyświetlone jak baner, a kliknięcie na niego przenosi do strony, która zawiera ten plik jpg
6. templates/themes/default.php pod (under) $sMenu3=$oPage->throwMenu('menu_3.tpl',3,$iContent,1); dodać (add): $sLastPhoto=$oPage->throwLastPhoto('container.tpl');
Gotowe. Ready. Pod lewym menu będzie się wyświetlać ostatnio dodane zdjęcie. Zdjęcie jest 'olinkowane' do swojej strony. The last added photo will be displayed under the left menu. The photo is linked to its page. Jeśli działa i się spodobało, wejdź czasem na stronę w mojej stopce i kliknij na jakąś reklamę (obok lewego menu). If it works and you like it, just visit sometimes my page given in this postings footer and click an advertisment (near left menu).
wielkie dzięki boboo oto mi chodziło, dobrze mnie zrozumiałeś, jak przerobić żeby wyświetlane było losowe(dowolne) zdjęcie, czy najbardziej oglądane(klikane).
brakuje jeszcze, żeby nie wyświetlał zdjęcia jeżeli strona ma wyłączony status, bo jak usunę stronę działa ok.
Ano fakt, nie zwróciłem uwagi na to. Ale jak napisałem: jest to qid solution ;-) No to wpisać pod (add under): $aFile=file(DB_PAGES_FILES); taką linijkę (this line): $iStatus=throwStatus(); Zamienić to (exchange this): if($oFF->checkCorrectFile($aExp[2])){ $aData=$oFF->throwDataFromFiles(array(DB_PAGES),$aExp[1],'iPage'); $aData['sFileName']=$aExp[2]; $aData['sLinkName']=$this->aPages[$aExp[1]]['sLinkName']; break; } na (to): if($oFF->checkCorrectFile($aExp[2])){ $aData=$oFF->throwDataFromFiles(array(DB_PAGES),$aExp[1],'iPage'); if($aData['iStatus']>=$iStatus){ $aData['sFileName']=$aExp[2]; $aData['sLinkName']=$this->aPages[$aExp[1]]['sLinkName']; break; } } Teraz będzie się pokazywać ostatni obrazek tylko ze stron, które mają 'włączony' status. Now, the lastPhoto will be taken from page, which has a switched on status.
Losowe zdjęcie to 'pestka'. Nieco gorzej z najczęściej klikanym/oglądanym. Bo skądś tę informację trzeba brać (ilość klików). A żeby taka informacja istniała, trzeba te kliki zapisywać. Czyli trzeba stworzyć albo nowe pole w istniejącej tabeli bazy, albo nową tabelę. Następnie funkcję reagującą na klik na dane zdjęcie i podwyższającą stan jego licznika w nowym polu bazy. A dalej już z górki. Zamiast w bazie szukać zdjęcia o najwyższym id, szukamy takie z największą ilością klików... Gotowe :-)
Losowe zdjęcie: dodać w core/pages.php funkcję: public function throwRandomPhoto($sFile){ $oFF=FlatFiles::getInstance(); $oTpl=TplParser::getInstance(); $oFile=Files::getInstance(); $aFile=file(DB_PAGES_FILES); $iStatus=throwStatus(); $content=null; $iCount=count($aFile); if($iCount>1){ $j=0; for($i=1;$i<$iCount;$i++){ $aExp=explode('$',$aFile[$i]); if($oFF->checkCorrectFile($aExp[2])){ $aData[$j]=$oFF->throwDataFromFiles(array(DB_PAGES),$aExp[1],'iPage'); if($aData[$j]['iStatus']>=$iStatus){ $aData[$j]['sFileName']=$aExp[2]; $aData[$j]['sLinkName']=$this->aPages[$aExp[1]]['sLinkName']; $j++; } } } $iRand=rand(0,$j-1); $aData=$aData[$iRand]; if(isset($oFile)&&isset($oFile->aImagesDefault[1][$aData['iPage']])){ $aDataImage=$oFile->aFilesImages[1][$oFile->aImagesDefault[1][$aData['iPage']]]; $oTpl->setVariables('aDataImage',$aDataImage); } $oTpl->setVariables('aData',$aData); $content=$oTpl->tbHtml($sFile,'RANDOM_PHOTO'); } return $content; } Odpowiednio dodać blok w container.tpl z: RANDOM_PHOTO (taki sam, jak przy LAST_PHOTO), jedyna zmiana, to $lang['random_photo'] i odpowiedni wpis w lang/pl.php I w templates/themes/default.php dodać: $sRandomPhoto=$oPage->throwRandomPhoto('container.tpl'); i w container.tpl pod lub nad $sLastPhoto dodać $sRandomPhoto.
trochę odświeżę temat, mianowicie chciałbym uzyskać pole "ostatnio dodane zdjęcia". Widzę że boboo już działał w tym kierunku (plugin: qcms-lastPhoto (qid=quick&dirty)). Czy dałbyś radę pomóc w temacie dla wersji » freeware Quick.Cart v4.x ??