Galerie z adresáře – bez db
- ZDr.
- Člen | 2
Zdravím, možná se historicky znemožním, ale předpokládám, že od toho tohle nováčkovské vlákno je…
S Nette začínám, v podstatě se spolu známe třetí den. Řeším problém s vytvořením galerie, potřebuju úplně primitivní funkci, nejspíš přes nějakou továrničku, aby mohla být použita na více stránkách.
Chtěl bych vykreslit fotogalerii např na stránce Galerie1
,
přičemž by byla založená na prostém výpisu souborů stejnojmenného
adresáře tedy např. foto/Galerie1
. Adresář by už obsahoval
fotky nasypané třeba přes ftp včetně náhledů, které se jmenujou stejně
jako originály jen s nějakou předponou.
Můžete mi někdo poradit jak na to? Jsem poměrně ztracený a nevím ani kde začít a všechny pokusy zůstaly u Laděnky. Předem díky za jakýkoli tip.
- Ondrej
- Člen | 110
$imageBrowser = new ImageBrowser($this, 'imb');
$imageBrowser->setDir('foto/'.$this->getView());
$imageBrowser->setPrefix('th_');
$imageBrowser->useLightboxGallery = TRUE;
$imageBrowser->setPaginator(new Paginator($itemsPerPage = 50));
v šabloně:
{control imb}
začínáš s Nette nebo s PHP?
- spidy
- Člen | 55
Tak já to řeším takto:
(presenter)
class GalleryPresenter extends BasePresenter
{
public function renderGallery($folder) {
$this->template->folder = $folder;
$this->template->images = Nette\Utils\Finder::findFiles('*.jpg')->in(WWW_DIR. '/gallery/'. $folder);
}
}
(šablona)
{block content}
<p class="gallery">
<a n:foreach="$images as $image" href="{$baseUri}/gallery/{$folder}/{$image->getFilename()}">
<img class="alignnone size-thumbnail" src="{$baseUri}/gallery/{$folder}/thumbs/{$image->getFilename()}" width="150" height="150" />
</a>
</p>