Losowe zdjęcie

rambo83

Avatar: rambo83

2011-08-06 00:42

Witam

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,

propozycja do wszystkich ambitnych

» Quick.Cms v2.x

Marco

Makaron

Avatar: Makaron

2011-08-09 16:18

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.

I helped? Like it: www.facebook.com/makwebpl

rambo83

Avatar: rambo83

2011-08-10 02:17

będzie ciężko ale będę próbował, może ktoś się podejmnie wezwania

Marco

boboo

Avatar: boboo

2011-08-10 09:40

rambo,
to opisz mi dokładnie w e-mailu, o co chodzi i jak ma to wyglądać.
kontakt(at)kimla.de

it-service.kimla.de

rambo83

Avatar: rambo83

2011-08-10 12:56

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

Marco

euphoria-art

Avatar: euphoria-art

2011-09-19 22:20

rambo83 jak będziesz miał rozwiązanie to podziel się nim tutaj na forum, przydał by mi się plugin z ostatnio dodanymi zdjęciami

boboo

Avatar: boboo

2011-09-20 14:37

plugin: qcms-lastPhoto (qid=quick&dirty)
1. lang/xx.php
dodać w sekcji plugins(add in plugins section):
$lang['last_photo']="Ostatnie zdjęcie";

2. templates/plugins.css
dodać (add):
#lastPhoto{margin-bottom:10px;padding:10px 15px;}
#lastPhoto .title{padding:10px 0 0;background:inherit;color:#4e4e3d;font:normal 1.75em serif;border-bottom:1px solid #e6e3e3;}

3. templates/container.tpl
dodać (add):
<!-- BEGIN LAST_PHOTO -->
<div id="lastPhoto">
<div class="title">$lang['last_photo']</div>
<div class="photo">
<a href="$aData[sLinkName]">
<img src="$config[dir_files]$aDataImage[iSizeValue1]/$aData[sFileName]" alt="$aDataImage[sDescription]"/>
</a>
</div>
</div>
<!-- END LAST_PHOTO -->

4. templates/container.tpl
pod $sMenu3 (under $sMenu3) dodać (add):
$sLastPhoto

5. core/pages.php
dodać funkcję (add function):
public function throwLastPhoto($sFile){
$oFF=FlatFiles::getInstance();
$oTpl=TplParser::getInstance();
$oFile=Files::getInstance();
$aFile=file(DB_PAGES_FILES);
$content=null;
$iCount=count($aFile);
if($iCount>1){
rsort($aFile,SORT_NUMERIC);
for($i=0;$i<($iCount-1);$i++){
$aExp=explode('$',$aFile[$i]);
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;
}
}
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,'LAST_PHOTO');
}
return $content;
}

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).

strzelectwo.kimla.de

boboo

Avatar: boboo

2011-09-20 17:11

@OpenSolution
jeśli przypadło to Wam do gustu, to wrzućcie to w pluginy.

strzelectwo.kimla.de

rambo83

Avatar: rambo83

2011-09-21 02:47

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.

boboo

Avatar: boboo

2011-09-21 07:47

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.

strzelectwo.kimla.de

boboo

Avatar: boboo

2011-09-21 07:54

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 :-)

strzelectwo.kimla.de

pakot

Avatar: pakot

2011-09-26 18:44

boboo;

Może się pokusisz o wstawienie plugin'a pokazującego losowo wybrane zdjęcie tak jak jest to w Quick.Cart - randomProduct.

Za co z góry dziękuję ;)

www.czech.lublin.pl

boboo

Avatar: boboo

2011-09-26 21:55

Najpierw popraw to:
http://www.czech.lublin.pl/pl/sk/slas.html
Biskup Bednorz pisze się przez "rz".
A potem pomyślimy ;-)

strzelectwo.kimla.de

pakot

Avatar: pakot

2011-09-26 22:20

Poprawione na "amen" jak by powiedział kś. biskup :)

Dziękuję za podpowiedź.

Pozdrawiam. !

www.czech.lublin.pl

boboo

Avatar: boboo

2011-09-27 21:39

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.

I poklikaj potem w reklamy ;-)

strzelectwo.kimla.de

pakot

Avatar: pakot

2011-09-29 10:28

Działa w 100% jeszcze raz serdeczne dzięki !!!


Poklikałem :)

www.bursanr1.pl

selekcjoner

Avatar: selekcjoner

2011-12-02 18:08

jak wykorzystując plugin randomProduct_v0.6 zrobić, aby wyświetlało 5 losowych produktów?

simlution.org

selekcjoner

Avatar: selekcjoner

2011-12-02 21:39

rozwiązanie:
http://opensolution.org/Quick.Cart/forum/?p=readTopic&nr=5963&page=999

simlution.org

selekcjoner

Avatar: selekcjoner

2012-04-13 15:29

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
&#187; freeware Quick.Cart v4.x ??

simlution.org

Do góry
o nas | kontakt