D7 image gallery

IngusNeilands Mon, 05/14/2012 - 13:37

Savā WP -> D7 migrācijas procesā esmu nonācis līdz bildēm.

Jau eksistē kārtīgi sakārtots folderis ar subfolderiem kuros atrodas bildes.

Vajag, iespēju pievienot rakstam bilžu galeriju (visas vai dažas subfoldera bildes)

Kā arī vienu un to pašu "galeriju" pievienot dažādiem rakstiem.

Vai katra bilde būs jāpievieno kā node un jāgrupē kā galerija?

Vai Jums ir kādas idejas kā to pareizāk izdarīt ?

Katru bildi atsevišķi kā nodi vajadzētu taisīt tikai ārkārtas gadījumos, ja vēlies ar šo bildi strādāt atsevišķi. Strādāt - domāju, vērtēt, reitingot, utt. Pretējā gadījumā tas nav obligāti. Otrs faktos - vai vēlies, lai bildes būtu izmantojamas atkārtoti? Piemēram, lai to varētu izmantot kādā citā rakstā, ja gadījumā tā jau vienreiz ir augšuplādēta uz servera. Kādā formātā vēlies bildes rādīt:
  • Slīdrāde tajā pat lapā
  • Slīdrāde (ar/bez) modālā logā
  • Bez slīdrādes, bet lai atveras viena bilde kā raksts
Ja nevēlies specifiski apstrādāt attēlus un izvietot pēc noteikta plāna (kā bija ar Arhīva bloku), tad ir pieejami daudzi jau gatavi risinājumi. Tur gan jāparokas iekš Drupal.org. Te vēl daži linki resursiem: Galvenais ir saprast vēlamo rezultātu un funkcionalitāti, un tad jau var sākt "ravēt". Vēl piebilde. Drupal vada savu folderu struktūru bildēm, kas var atšķirties (laikam arī atšķiras) no WP ierastā. Vai tas, ka bildes ir sakārtotas gribēji panākt, lai tās varētu automātiski ievietot un salikt pa plauktiem, vai tomēr kāds cits nolūks tam bija?
hmm, pirmā doma bija ar IMCE vai elfinder loģiski sakārtot bildes pa folderiem. Un pie gatava raksta pievienot konkrētu folderi (vai uppload) un rādīt kā grouped slideshow. Šobrīd jau lieliski darbojas D7 filefield-image + plupload + lightbox2, bet man tas man liekas nepārskatāms un ilgtermiņā problēmas radošs risinājums... Bet varbūt es kļūdos.
Man pašam īsti nepatīk IMCE risinājums, jo tas tā kā uzliek papildus slogu vadīt folderu loģiku. Pie kam, ja blogs tev būs multiuser, tad cilvēkiem ir jāstāsta, kas, kur un kā jāliek. Neapšaubāmi gan IMCE un līdzīgie piedāvā jau ierastu folderu skatienu, kas lietotājam varētu būt ērtāk. Es vairāk orientējos uz to, ka visu loģiku iešuju Content type fields, pielieku klāt vajadzīgos skatus (kur ImageCache sagriež vajadzīgos thumbnails, kur es neesmu vairāk atkarīgs no folderu struktūras), un viss tālāk dzīvo atsevišķu dzīvi - Drupal un folderu struktūra vienu, dizains un iespējamās tā maiņas (ieskaitot citu izmēru thumbnail ģenerēšanu) - savu. Te tad ir trīs punkti:
  • Veids, kādā ērtāk būtu augšuplādēt bildes, jo var būt vajadzība ar vienu pūtienu uzmest virsū vairākas, kā to piedāvā plupload, pie reizes piedomājot par to, vai atsevišķu bildi ir jāreitingo, vai nē.
  • Veids, kādā ērtāk būtu attēlot galeriju - šeit man pašam vairāk patīk Colorbox vai Fancybox risinājumi - estētiskāki, bet to, protams, var mainīt
  • Pārskatāmības jautājums jau būtu laikam galerijas izkārtojuma variants, kur ir dažādi varianti. Viens, ko taisu, ir tāds: http://www.losp.lv/node/640
Vai tiki pie kāda viedokļa par galeriju? Vēl ir aktuāli?
:) Taisīšu atsevišķu [content type:gallery], ko smuki ar views varu sakārtot un parādīt uz atsevišķas lapas. Bet kādā veidā šādi izveidotu gallery node var pievienot pie [content type:blog] nodes un parādīt tikai gallery slideshow ?
Risinājumi kā vienmēr ir dažādi, te daži no viņiem:
  • content_type:blog izveidot templeitu *.tpl.php, kur pēc $content publikācijas ievietot PHP kodu, kas ievieto Views bloku, kurā attēli tiek atlasīti pēc argumenta NID (atkal contextual filter)
    http://drupal.org/node/1032068
  • Manuāli bloku vadībā norādīt kurā content type bloku attēlot, to ievietojot content reģionā, vai arī to veikt ar Context moduļa palīdzību
  • Ievietot skatu programmātiski iekš content type. Šo gan esmu veicis ar Views attach moduli, bet tas nav priekš D7. D7 šis joks strādā ar EVA (http://drupal.org/project/eva)
  • Ievietot Views bloku body lauciņā ar filtru palīdzību, ja pats vadi tās galerijas: http://drupal.org/project/insert_block
Protams, saraksts nav izsmeļošs, bet pa lielam viss saistīts ar to, ka vajadzīgo izklājumu izveido ar Views palīdzību tieši blokā (jo tam nevajag URL), un tālāk ar filtriem un kontekstuāliem filtriem atfiltrē lieko, atstājot tikai tās bildes, kas attiecas uz konkrēto atvērto nodi. Views attach/EVA moduļa doma - iekš Content type papildini formu ar EVA lauciņu, kas automātiski parādīsies vajadzīgā vietā un izdos bloka izklājumu. Lauciņa atrašanās vietu (pirms/pēc kontenta) vadi vienkārši pārkārtojot lauciņu secību.