PHPminiGallery
Doba připravování fotogalerií na svém počítači již pominula a vše se dělá online. Proto vzikl projekt PHPminiGallery, který vychází z několikaleté zkušenosti tvorby webových fotoalerií. Snaží se ulehčit tvorbu galerie co možná nejvíce. Došel jsem k názoru, že nejpohodlnější způsob je nahrát fotoky přes FTP na web, nastavit nějaký nadpis, v některých případech nějaké popisky a víc se starat nechci.
Přesně tento postup využívá PHPminiGallery. Pro generování galerií využívá funkce PHP na straně serveru a pro pěkné zobrazení na straně klienta knihovnu jQuery.
Po nakopírování obrázků do podsložky se při prvním přístupu ke galerii zobrazí jednoduchý formulář k vyplnění nadpisu galerie, výšky miniatur a případnému zobrazení efektů.

Po jeho vyplnění je již galerie plně funkční a zobrazí se na hlavní stránce PHPminiGallery.
Další řádky mohou obsahovat popisky obrázků - vždy jméno souboru a následujicí řádek jeho popisek.
Zobrazení efektů je možné explicitně vypout/zapnout parametrem effects: index.php?dir=podslozka&effects=X (X=0 vyp/X=1 zap/X= -1 úplně vyp).
Od revize 48, jsem dle návrhů přidal možnost zobrazovat obrázek z galerie jako náhled v seznamu. K tomuto účelu jsem udělal mini šablonovací skript, čímž je nyní mnohem jednodušší přizpůsobit si galerii k obrazu svému. Šablona je nyní načítána ze souboru sablona.phtml:
Revize 49 – vyšlo jquery 1.3 a tak jsem ho využil. [update 31.3.2013]
Revize 50 – updatované javascripty, podpora podsložek, možnost dopsání popisu galerie a úvodní načtení popisků z EXIF. Kvůli podsložkám byly upraveny šablony, v přiloženém examplu by mělo být vše podstatné.
V přípravě:
PHPminiGallery v akci (revize 49)
Šablona s náhledy složek (z revize 48)
PHPminiGallery revize 49 (148.8KB)501 stažení
PHPminiGallery revize 50 (352.7KB)1203 stažení
Upozornění: ve vydané verzi se objevila chybka - načítal se skript slimbox2.js, místo upravené varianty slimbox2s.js (neupravený v archivu chyběl). Opraveno
Na některách serverech se stává, že při tvorbě galerie dostane složka mini menší práva a nelze smazat. Lze to napravit souborem chmod.php, nahraným do složky s originálními obrázky. Poté by již měla jít složka smazat. Do další verze přidám automatickou změnu práv při tvorbě.





Přesně tento postup využívá PHPminiGallery. Pro generování galerií využívá funkce PHP na straně serveru a pro pěkné zobrazení na straně klienta knihovnu jQuery.
Projekt pokračuje na GitHub
Po delší době jsem se rozhodl tento projekt opět trošku oživit a udělal jsem novou verzi. Pro lepší správu verzí jsem se rozhodl projek přesunout na Github.Použití
Galerie se tvoří z podsložek umístěných ve složce gallery, pro zobrazení galerie je třeba zavolat soubor index.php?dir=podslozka. Podložka obsahuje velké fotografie a po prvním přístupu se vytvoří konfigurační soubor conf.txt a složka mini s miniaturami.Po nakopírování obrázků do podsložky se při prvním přístupu ke galerii zobrazí jednoduchý formulář k vyplnění nadpisu galerie, výšky miniatur a případnému zobrazení efektů.

Po jeho vyplnění je již galerie plně funkční a zobrazí se na hlavní stránce PHPminiGallery.
Konfigurační soubor
Každá podsložka s fotkami má svůj konfigurační soubor ve tvaru:
TEST
120
effects
-------------
image2.jpg
Druhý obrázek v pořadí
Důležité jsou první 3 řádky - nadpis galerie, výška miniatury v pixelech, klíčové slovo effects (cokoliv jiného efekty vypne).Další řádky mohou obsahovat popisky obrázků - vždy jméno souboru a následujicí řádek jeho popisek.
Zobrazení efektů je možné explicitně vypout/zapnout parametrem effects: index.php?dir=podslozka&effects=X (X=0 vyp/X=1 zap/X= -1 úplně vyp).
Od revize 48, jsem dle návrhů přidal možnost zobrazovat obrázek z galerie jako náhled v seznamu. K tomuto účelu jsem udělal mini šablonovací skript, čímž je nyní mnohem jednodušší přizpůsobit si galerii k obrazu svému. Šablona je nyní načítána ze souboru sablona.phtml:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1250">
<title>[nadpis]</title> <- prvek nadpis s názvem galerie;
[require] <- nutný prvek načítající zobrazovač galerie;
<link rel="stylesheet" type="text/css" href="css/styl2.css" media="screen" />
</head>
<body>
[images] <- sekce s obrázky samotné galerie;
<h1>[nadpis]</h1>
<div id="galerie">
[image] <- sekce miniatury, bude vytvořena pro každou miniaturu;
<a href="[target]" title="[title]">[mini]</a> <- prvky target (cesta k originálnímu obrázku), title (jeho popisek, volitelný), mini (vytvorena miniatura);
[/image]
</div>
[/images]
[items] <- sekce seznamu galerií;
<h1>Seznam galerií</h1>
<div id="seznam">
[item] <- sekce s položkami seznamu;
<a href="[dir]">[img_0]<br />[name]</a> <- prvky dir (cesta ke složce s galerií), name (jméno galerie), img_0 (náhodná minatura)/ img_1 (první miniatura ve složce);
[/item]
</div>
[/items]
<div id="foo">[bottom]</div>
<- prvek s tlačítkem zpět
<div id="foo2"><a href="http://smitka.org">© 2009 Smitka development</a></div>
</body>
</html>
[update 15.1.2009]Revize 49 – vyšlo jquery 1.3 a tak jsem ho využil. [update 31.3.2013]
Revize 50 – updatované javascripty, podpora podsložek, možnost dopsání popisu galerie a úvodní načtení popisků z EXIF. Kvůli podsložkám byly upraveny šablony, v přiloženém examplu by mělo být vše podstatné.
- Přibyl parametr effects=-1 (zatím jen explicitně v adrese), který vypne efekty včetně animace při procházení obrázků.
- Lehce upraveno chování efektu zhasínání při prohlížení obrázků – nebude se stávat, že obrázek zhasíná a rozsvěcí se “ze zásoby“
- Vyměněn lightboxový skript – použit slimbox2, který jsem upravil pro korektní zobrazení velkých obrázků
- Drobné korekce v kódu
V přípravě:
- Administrace popisků
- Optimalizace kódu
- Podpora více hlavních složek
- Co mě napadne
PHPminiGallery v akci (revize 49)
Šablona s náhledy složek (z revize 48)
PHPminiGallery revize 49 (148.8KB)501 stažení
PHPminiGallery revize 50 (352.7KB)1203 stažení
Upozornění: ve vydané verzi se objevila chybka - načítal se skript slimbox2.js, místo upravené varianty slimbox2s.js (neupravený v archivu chyběl). Opraveno
Na některách serverech se stává, že při tvorbě galerie dostane složka mini menší práva a nelze smazat. Lze to napravit souborem chmod.php, nahraným do složky s originálními obrázky. Poté by již měla jít složka smazat. Do další verze přidám automatickou změnu práv při tvorbě.




