Dokumentace pluginy Serendipity ImageSelectorPlus
Dokumentaci k tomuto pluginu přeložil do češtiny Vladimír Ajgl (vlada [zavinac] ajgl [tecka] cz) dne 26.6.2011. Od té doby mohl být plugin pozměněn nebo mohly být rozšířené jeho funkce. Zkontrolujte pro jistotu i anglickou dokumentaci a ChangeLog.
Obecný popis
Plugin ImageSelectorPlus se používá k usnadnění práce s obrázky, především k vkládání obrázků z mediatéky (interní galerie Serendipity).
QuickBlog
Při nahrávání obrázku ho rovnou můžete vystavit jako příspěvek. Řiďte se podle instrukcí nad formulářem QuickBlogu na straně s nahráváním souborů.
Změna vzhledu příspěvku QuickBlogu
Plugin používá šablonu "plugin_quickblog.tpl". Její změnou změníte vzhled vkládaných obrázků.
Informace o obrázku jsou uchovány v poli {$quickblog}, které má tyto části:
- fullimage - cesta a název velkého souboru
- image - cesta a název k náhledu
- body - tělo příspěvku
- exif_mode - způsob získání exif tagů z fotky ('internal', 'jhead', 'none')
- exif - pole obsahující různé exif tagy, pro jejich názvy si najděte dokumentaci exif tagů - jejich názvy použijte následovně, příklad $quickblog.exif.COMMENT nebo $quickblog.exif.Focal_length
Hromadné vkládání obrázků
Další funkcí je hromadné vkládání obrázků. Funguje na principu, že v textu příspěvku napíšete xml strukturu, kterou plugin nahradí obrázky z databáze.
Kdy se to hodí?
Když píšete fotoblog a potřebujete do příspěvku vkládat více obrázků najednou. Když máte padesát fotek, které jsou navíc očíslované, tak je můžete vložit buď po jedné, jak to Serendipity umožňují v základu, nebo pomocí jediné řádky s použitím popisovaného pluginu.
Příklady
Příklad 1 - vkládáme části galerie
<mediainsert>
<gallery name="MyHolidays/" />
<media type="single" name="pict0034" />
<media type="single" name="pict0032" />
<media type="range" prefix="pict00" start="35" stop="52" />
</mediainsert>
Takto vložíme z galerie "MyHolidays" obrázek "pict0034", po něm obrázek "pict0032" a pak všechny obrázky od "pict0035" do "pict0052".
Chování pluginu:
- Zobrazuje pouze obrázky, které jsou přítomny v databázi. Takže pokud zrovna obrázky 44,45,48 a 50 v databázi nejsou, pluginu to nevadí a nespadne. Jednoduše tyto obrázky vynechá.
- Zachovává pořadí obrázků z xml. Tedy obrázek 34 bude zobrazen před obrázkem 32.
Příklad 2 - vkládáme celou galerii najednou
<mediainsert>
<gallery name="MyHolidays/" />
<media type="gallery" />
</mediainsert>
Důležité
Plugin je relativně citlivý na (ne)správnost syntaxe xml. Pokud není bezchybná, typicky zapomenete na ukončovací zpětné lomítko v tagu media, můžete vyřadit z činnosti celý blog!!! (prostě není ošetřená kontrola správnosti syntaxe a parser na špatné syntaxi havaruje)
Přehled xml tagů
- <mediainsert>
- hlavní kontejner pro vkládané obrázky
- <gallery>
- cesta ke galerii, ze které mají být brány obrázky (reltivně k adresáři uploads/ - bez úvodního lomítka a s ukončujícím lomítkem - "MyHolidays" nebo "/MyHolidays/" jsou špatně. Správně je "MyHolidays/".)
- <media>
- Určuje, které obrázky mají být vloženy. Na základě atributu "type" je možno vložit obrázky třemi způsoby:
- "single" - vloží jeden obrázek se jménem zadaným atributem "name"
- "gallery" - bez dalších atributů, vloží celou galerii
- "range" - vloží číslované obrázky od obrázku "prefix""start" do obrázku "prefix""stop" (viz. příklad 1)
Změna vzhledu vkládaných obrázků
Plugin používá šablonu "plugin_mediainsert.tpl". Její změnou změníte vzhled vkládaných obrázků.
Informace o obrázku jsou uchovány v poli {$plugin_mediainsert_media}, které má tyto části:
- name - jméno obrázku (název souboru bez přípony)
- extension - přípona souboru
- realname - celé jméno souboru, to samé jako {$name}.{$extension}
- thumbnail_name - název souboru s náhledem dostanete následovně - {$name}.{$thumbnail_name}.{$extension}
- path - cesta ke galerii, stejná hodnota, kteoru zadáváte v tagu "gallery"
- comment1 - krátký komentář z databáze
- width - šířka původního (velkého) obrázku
- height - výška původního (velkého) obrázku
- thumbwidth - šířka náhledu
- thumbheight - výška náhledu
Rozbalování ZIP archivů
K čemu je to dobré
Kupříkladu když chcete nahrát mnoho souborů najednou. Nemusíte vybírat jednotlivé soubory po jednom (což je zdlouhavé). Prostě je zabalíte do zip archivu, nahrajete tento archiv a ten bude na blogu rozbalen.
Vlastnosti rozbalování ZIPů
- Soubory z archivu jsou rozbaleny do stejného adresáře, do kterého je nahrán archiv.
- Rozbalené soubor (což nemusí být nutně obrázky) jsou vloženy do databáze médií.
- Pokud zvolíte volbu "Zadat vlastnosti", rozbalené obrázky se také zorazí pro zadávání vlastností.
- Nenahrávejte ZIP archivy s podadersáři. Netestoval jsem to, ale obávám se, že se tyto adresáře nevytvoří a všechny soubory se rozbalí do jednoho adresáře.
- Dávejte pozor na velikost ZIP archivu. Na webu máte nastavené určité omezení týkající se maximální velikosti nahrávaného souboru (obvykle to bývá 10MB).
Automatická změna velikosti obrázků
Tato funkce automaticky prohledá příspěvek blogu a vyhledá obrázky, které jsou zadány ve formě:
<img src="/uploads/mujobrazek.jpg" width="100" height="150" />
Když najde obrázek v tomto formátu (pokud najde obrázek s definovanou výškou a/nebo šířkou), nahradí jeho atribut 'src' (adresa obrázku) odkazem na skript pro změnu velikosti obrázku 'serendipity_admin_image_selector.php'. Tedy přepíše odkaz na něco jako:
<img src="http://www.mujblog.cz/serendipity_admin_image_selector.php?serendipity[image]=1&serendipity[disposition]=inline&serendipity[step]=showItem&serendipity[resizeWidth]=100&serendipity[resizeHeight]=150" width="100" height="150" />
Tato vlastnost šetří váš čás, pokud potřebujete použít stejný obrázek ve více rozlišeních a může také ušetřit čas nutný pro stažení obrázků při prohlížení vašeho blogu. Vliv na rychlost blogu je minimální, protože se změna velikosti obrázku provede jenom jednou, při prvním přepisu tagu <img>.
Poznámky
- Poměr stran obrázku je zachován.
- Stačí definovat pouze jeden z atributů 'width' nebo 'height'. Pokud není zadán žádný z nich, obrázek je ignorován a adresa není nahrazena adresou na skript pro změnu velikosti obrázku.
- Pokud jsou zadány dohromady jak šířka ('width'), tak výška ('height'), obrázek bude zvětšen/zmenšen při zachování poměrů stran tak, aby se vešel do zadané oblasti.
Autoři
Garvin Hicking, Německo - všechno ostatní
Vladimír Ajgl (vlada [at] ajgl [dot] cz), Česká republika, 19.11.2007 - hromadné vkládání obrázků do příspěvků pomocí XML, hromadné nahrávání v ZIP souboru
Historie verzí (ChangeLog)
- nejnovější verze
- Dopředná kompatibilita se smarty3
- verze 0.28
- Předávání proměnné $eventData do šablony plugin_mediainsert.tpl, pomocí smarty tagu {$plugin_mediainsert_entry}.
- verze 0.20 [Vladimír Ajgl]
- Přidána dokumentace (documentation_en.html, documentation_cs.html)
- Přidán český překlad
- Přidána funkce hromadného vkládání fotek do příspěvků pomocí XML kódu (pouze s PHP5)