Ultimate Gallery

Köszönet e cikkért mib kollégának.

Elöljáróban annyit szeretnék megjegyezni, hogy nagyon sok galéria leírás van, viszont egyik sem elégítette ki azt a tudást amit elvárnék, így nekiálltam megcsinálni a sajátomat, amit ugyancsak lehetne még tökéletesíteni (és hogy mit azt majd a végén részletezem), de a célnak megfelel.

Milyen modulokra lesz szükségünk?

  • cck
  • imagefield
  • filefield_paths
  • views
  • views attach module (node content nézett miatt)
  • imagecache + imagecache action (opcionális)
  • image_fupload
  • lightbox2

A megvalósítás lépései

Node

Először létrehozunk 2 imagecache kép mintát, amit használni akarunk majd a galéria kiskép és nagykép megjelenítéseknél (referenciak_kiskep, referenciak_nagykep).

Ez után 1 új tartalom típust (galéria) csinálunk, amiben kikapcsoljuk az alapértelmezett beállításokban hogy címlapra kerüljön, és ha van a hozzászólásokat is tiltjuk,

galeria_node.png

galeria_node2.png

hozzáadunk egy fupload mezőt, és a következő beállításokat eszközöljük rajta: a multiple images per node-t választjuk, filepaths beállításba beállítjuk hogy az url-t és a file nevét tisztítsa meg, nagy betűket kicsinyítse le (az útvonal beállítás opcionális, én szeretem ha külön menti el a többi file-tól), ezen kívül hogy szükséges és az értékek száma korlátlan.

galeria_node3.png

galeria_node4.png

galeria_node5.png

galeria_node6.png

A mező megjelenítésben label-t kikapcsoljuk, bevezetőre beállítunk egy kép megjelenítést (mindegy hogy mit, mivel nem ezt használjuk), a teljes nézetet meg elrejtjük.

galeria_node7.png

Views

A viewsban 2 nézet fogunk létrehozni. Az egyik a galériákat gyűjti össze, a másik a node típust (galeria) formázza meg.

Hozzunk létre egy új nézetet, névnek adjuk page_galeriak (ahol a page utal arra az oldalra ami a galériákat összegyűjti), nálam ez a referenciak oldal, így én a referencia_galeriak nevet adtam neki (továbbiakban page helyett a referenciát használom). A view type tartalom. Adjunk hozza egy page nézet típust. Sok beállítási lehetőség van de ami nekünk fontos az a következők:

A szűrőknél 2 dolgot állítunk be, tartalom: közzétett és tartalom típus: Galéria

A mezőknél ami fontos a tartalom: fupload mező amit a galeria típusnál beállítottunk. A többszörös értéket pipájuk be és értéknek adjuk az 1-et. A formátum résznél meg válasszuk az a imagecache mintát amit a kis képekhez készítettünk (nem a lightbox2-féle verziót).

A page settings-nél meg állítsuk be a pathot és a menüt amihez hozzáadjuk.

galeria_views.png

galeria_views2.png

galeria_views7.png

Hozzuk létre a második nézetet is:

Név referencia_node_content, view type tartalom. Adjunk hozzá egy új node_content nézet típust. A szűrőknél a beállítások ugyan azok mint az előbb, a mezőknél annyiban módosul hogy nincs többszörös érték csoportosítás és a formátumnál a lightbox2-t állítjuk be a kiskép nagykép váltáshoz. (ligthbox2: kiskep->nagykep). Az argumentumnál a tartalom node id-t állítjuk be és ami fontos az a validator galéria típus. A node content settings-nél a tartalom típus a galéria.

galeria_views3.png

galeria_views5.png

galeria_views6.png

Ezzel meg is volnánk. Ami még hiányzik az egy vissza link a galériákból, amit könnyen hozzá tudunk adni a node_content view template file-hoz. Mivel én a rács megjelenítést használom a tpl.php-m a views-view-grid--referencia-node-content--node-content-1.tpl.php. A file végére illesszük be ezt:
ahol a referenciak az a oldal ahol összegyűjtjük a galériákat.

A kész galéria

galeria.pnggaleria2.png

Pro

  • A taxonomyval ellentétben úgy lehet képeket törölni hogy azt látjuk is.
  • Ha akarjuk az ajaxos pager könnyen megvalósítható.
  • A galéria létrehozása és a képek feltöltése egy azon lapon történik a tartalom beküldésben, ellenben image gallery-vel ami taxonomyt használ, és elösször a galériát kell létrehozni (ami nem a tartalom beküldés oldalon van!), utánna meg a képeket beküldeni egyesével (lehet image import is de ahoz elöbb serverre fell kell tölteni képeket, ami megintcsak gáz), így az image gallery nem user frendly.

Kontra, vagyis mit lehetne még fejleszteni rajta?

Ami kimaradt az a galériában galéria funkció, ami könnyen megoldhatunk a node reference url widgettel, viszont ez még több megoldandó feladatott eredményezne. pl. hogyha kitörlünk egy szülő galériát akkor az összes gyermek galériát is kitörölje a képekkel együtt. Ezen kívül még kéne egy breadcrumb funkció ahol a galériákat tudnánk nyomon követni. Az én véleményem az hogy ez csak összezavarná usereket, így jobb ha galériának nem lehet gyermek galériája.

És az elmaradhatatlan hibák

A filefield path beállításánál nekem nem működött a külön galériák szerinti kép mentés, és az imagecache sem törli ki a létrehozott majd törölt képek file-jait. (és ezzel a modul fejlesztők is tisztában vannak, szal még nem tökéletes). A másik hiba ami még előjöhet hogy fupload modul nem kompatibilis az fck editorral így minden a törsz mezőbe beírt szöveget töröl és <!--break--> jelet írja be helyette így én ideglenesen ki is kapcsoltam fck editort a galéria tartalom típusnál.

Sok sikert hozzá, MiB