neděle 19. února 2012

Fotogalerie v Drupalu 7

Takže se mi konečně podařilo udělat v Drupalu 7 fotogalerii podle mých představ. Sice se všude dá najít spousta návodů, ale ty se zabývají převážně výsledným vzhledem a už ne způsobem, jak je na server efektivně dostat.

Moje představa byla, prostě nahrát přes FTP na server složku s názvem galerie a obrázky, a potom je při vytváření galerie najednou označit a přiřadit k dané galerii, jak to běžně funguje u specializovaných aplikací na fotogalerie.

S tím byl ale u Drupalu trochu problém. Existují moduly na připojené existujících souborů ze serveru k příspěvku, ale zas to nejde dělat hromadně.

Předpokládám, že to lze udělat i jinak a lépe, ale zatím jsem skončil u následujícího.

Potřebný seznam modulů:

  • Chaos tool suite
  • File (Field) Paths
  • Views
  • Plupload integration module
  • Colorbox
  • Libraries
  • Plupload widget
  • Token
Samotný Plupload je třeba stáhnout a rozbalit do sites/all/libraries podobně jako plugin pro Colorbox.

Takže základ je klasický, mám nový typ obsahu Fotogalerie, pole si lze navolit libovolně, já jsem zvolil klasickou kombinaci Titulek, Popis a Obrázek. Samozřejmě zde je nejdůležitější obrázek. Takže jeho nastavení za předpokladu funkčních výše uvedených modulů:

Styl obrázku - thumbnail
Povolené přípony souboru - zvolte dle pořeby
Ukázat File (Field) Path settings - tady je opět více možností nastavení. Nejlépe prostudovat dokumentaci. Já jsem ze pouze nastavil do sekce File Path hodnotu galerie/[node:title], takže pro každou galerii se mi v adresáři sites/default/files/galerie vytvoří podadresář podle názvu galerie. Funguje to naprosto spolehlivě i s češtinou a mezerami v názvech adresářů.
Do položky Název souboru jsem nechal pouze [file:name], což mi zachová původní název souboru, opět, zatím žádný problém s českými znaky nebo mezerami v názvech.

Dál jsem u tohoto políčka Obrázek nechal zapnout Popis a Název a neomezený počet hodnot. To je vše.

Typ widgetu by měl jít zvolit Plupload.

Ve správě zobrazení jsem nechal vypnul popisky pro oba elementy, formát Popisu je default a u Obrázku je zvolen formát Colorbox s nastavením:

Node image style: thumbnail
Colorbox image style: Original image
Colorbox gallery type: Per field in post gallery
Colorbox caption: Automatic


 Pokud je vše OK, mužeme nyní přidat obsah typu fotogalerie. Kromě titulku a popisku je teď vidět i možnost přidaní obrázků přes Plupload. 

 
Funguje i metoda Drag&Drop z lokálního počítače, nebo tlačítko Add. Lze vybrat pochopitelně více obrázků najednou. Poté je lze pomocí Upload nahrát a poté ještě doplnit popisky.

Co se týká samotného zobrazení detailu galerie jsem modifikoval styl obrázku pro thumbnail (Konfigurace >> Média >> Styly obrázků) na Změnit velikost se zachováním poměru stran a oříznout 100x100. A na každý element class="field-item", který obaluje jeden obrázek galerie aplikoval styl:


    floatleft;
    height100px;
    margin-right10px;
    padding-top20px;

To je ovšem už dost individuální, každý si to může opravit dle svých potřeb.

Toť vše o zobrazování obrázků se už postará Colorbox.

Já jsem si ještě vytvořil vlastní View na zobrazování stránky se seznamem galerií, ale jádro mého řešení je opravdu kombinace Colorbox, Plupload File (Field) Paths.

Případné dotazy do komentářů.