Witam. Znalazłem ostatnio rozwiązanie BOBOO dotyczące ostatnio dodanego zdjęcia w quick.cms. Po małej przeróbce pasuje mi do quick.carta4.2, z tym że wyświetla ostatnio dodane zdjęcie (jest OK:), ale w oryginalnym rozmiarze (!). Tak wygląda kod:
public function throwLastPhoto($sFile ){ $oFF = FlatFiles::getInstance( ); $oTpl = TplParser::getInstance( ); $oFile=Files::getInstance(); $aFile=file(DB_PRODUCTS_FILES);
problem w tym, że nie przekazuje adresu folderu z miniaturką, bo adres jest taki: www.twoja-strona.pl/files//fotka.jpg hmmm;)
tak po amatorsku można w: <img src="$config[dir_files]$aDataImage[iSizeValue1]/$aData[sFileName]" alt="$aData[sFileDescription]" /> napisać: <img src="$config[dir_files]150/$aData[sFileName]" alt="$aData[sFileDescription]" /> ale to tak mało ambitnie:)
tak boboo działa, ale wtedy wyświetla nie "ostatnio dodane" tylko "zdjęcie główne" (czyli o najniższym ID) z danego produktu. Ja pozmieniałem PAGES na PRODUCT i wtedy wyświetla ostatnio dodane foto, ale już nie miniaturkę..
Bo widzisz, w core/files.php jest taki podział: $aFiles[1]=DB_PAGES_FILES; $aFiles[2]=DB_PRODUCTS_FILES; A Ty dajesz dane produktu, ale odwołujesz się do $aFiles[1], czyli plików stron.
Zamien w tym jedynki na dwójki (w throwLastPhoto) aImagesDefault[1] aFilesImages[1]
1 . wyrzuć całego IF'a if(isset($oFile)&&...){ .... } tutaj aData[sName] zostawało nadpisywane tym z array'a aDataImage. a w nim niekoniecznie była ta sama kolejność, co w db_products_files. trzeba nam teraz tylko wyciągnąć iSizeValue i to w postaci konkretnego rozmiaru. w db_products_files jest to zapisane w polach 'iSize1' i 'iSize2' w postaci 0 albo 1. adekwatnie do array'a $config['pages_images_sizes']=array(0=>100,1=>150); nad break; dodaj: $aData['iSizeValue1']=$GLOBALS['config']['pages_images_sizes'][$aExp[6]]; $aData['sDecription']=$aExp[8]; i w bloku BEGIN LAST_PHOTO w container.tpl zmień odpowiednio $aDataImage na $aData
w zasadzie nie do końca wszystko gra;) wiem że marudzę, ale napiszę tak informacyjnie. Po wgraniu zdjęcia (czy to na LEWO czy PRAWO) pokazuje ostatnio dodane zdjęcie, ale oryginalny rozmiar. Dopiero jeśli wgramy np. na LEWO i zapisaniu, trzeba zmienić na PRAWO i znowu zapisać wtedy jest dopiero wyświetlana miniatura:)