Salve
è la prima volta che mi avvicino ad un qualcosa del genere, per cui mi servirebbe qualcosa di veramente semplice.
Sto cercando uno slideshow da inserire in un content type. Ogni nodo indi avrebbe una foto di una certa dimensione e altre 4 in miniatura. L'utente clicca sulla miniatura che viene ingrandita nell'area grande. Ovviamente, in una delle 4 miniature c'è anche la foto in quel momento visualizzata nell'area grande.
Esiste qualche modulino utile che faccia solamente questo? Poi l'implementazione con il nodo me la vedo io - non è un problema - però purtroppo non saprei metter mano al JS per poter creare una cosa simile e, visto che debba cercare su internet, prima provo se esiste qualcosa ottimizzato per Drupal - dubito non esista! -.
Grazie.
http://drupal.org/project/galleria
Certified to Rock
Grazie, lo provo subito!!
mmm forse non è ciò che mi serviva.
Le immagini le devo inserire all'interno di un nodo, ma non è la galleria ad esser un nodo, bensì ne fa parte.
Quindi, con Image caricherei le immagini in una directory (e ne crea i rispettivi nodi per immagini), poi Galleria ne prende atto e ne crea un nodo con alcune di esse e infine il mio nodo, tra le altre cose, preleva la Galleria da visualizzare...
Che matrioska!
non è così che funziona.
galleria non crea nodi (la descrizione è fuorviante in questo)
galleria, semplicemente, prende le immagini allegate (tramite upload O imagefield) ad un nodo, e le visualizza come una galleria.
gli altri contenuti (campi) restano intatti e gestibili separatamente.
Inoltre, si può utilizzare l'altro metodo non usato da galleria (upload O imagefield) per inserire altre immafìgini fuori della galleria.
tanto per fare un esempio sto lavorando ad un content type con 20+ campi mostrati in vario modo, tra cui anche una galleria associata all'unico campo imagefield.
Certified to Rock
Allora, ho installato oltre a Galleria qualcosa come jCarousel e ImageCache (e relativi moduli richiesti da questi); ho operato le configurazioni utili ma non in node/add non appare la possibilità di inserire nuove foto, né tanto meno si capisce in che modo potrei passare loro le foto in questione.
Qualche aiuto?
A me servirebbe poter inserire nella form di inserimento contenuto (per un custom content type simile a page) fino a 4 foto, le quali vengono ridimensionate opportunamente per lo slide show, il quale poi, in fase di node_view, mette su lo slide show così come serve.
Grazie.
se hai configurato correttamente il modulo (galleria), non devi fare nulla in node/add.
se devi usare il modulo con imagefield e non con upload devi configurarlo specificamente: galleria è settato di default per funzionare con il modulo upload
nelle impostazioni del content type devi anche attivare galleria
il fatto che tu non trovi il campo immagine è strano; hai installato anche imageapi, imagefield e filefield? sono tutti nrcessari per il funzionamento di imagecache. poi devi configurare anche i preset di imagecache da usare nella galleria
ho capito quello che devi fare; ti ho suggerioto galleria perchè fa proprio questo: carichi le immagini e nel nodo compare la galleria
Certified to Rock
Felagund ma il modulo CCK l'hai installato e configurato per aggiungere un campo di tipo ImageField al tuo tipo di contenuto ?
M.
--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal
Scusate ma perché tutti questi moduli per fare questa cosa a livello banale? A me serviva un modulino semplice che, prese in consegna le immagini, mi organizava uno slideshow in JS.
Allora, ricapitolo ciò che ho fatto, magari mi dite dove devo correggere; inoltre cerco di seguire i vostri suggerimenti, anche se con tutti questi moduli e configurazioni ci sto capendo ben poco...
Ho installato e configurato Galleria e ImageCache il quale necessita di ImageAPI. Ho quindi configurato un preset (ma cos'è di preciso?), Galleria lo ha agganciato.
Poi ho installato sia jCarousel che Lightbox2, ma tra i due preferisco quest'ultimo.
A quel punto mi son fermato, poiché la domanda è stata "e adesso lo slide show da dove appare?"; ho quindi installato il modulo Image giusto per delle prove. Ho create 5 nodi Image e ho creato il seguente modulo di test:
Cliccando sui link delle foto mi apre un overlay in JS devo dire di tutto rispetto; ma ancora non ho raggiunto la soluzione al problema.
Dopo ho appreso qualcosa in più dai vostri post che qui riprendo, così magari mi correggete.
Non ho ben capito a che serva ImageCache, però lo richiede Galleria.
Dal canto mio creo un nodo x di tipo y e, via Upload, invio n immagini; è corretto?
Al view di questo nodo dovrei aspettarmi uno slideshow, ma in che modo? Fa tutto Galleria "magicamente"?
Dal modulo Upload è possibile ridimensionare le immagini, cosicché da avere le anteprime ridotte e una misura standard di qualsiasi immagini inviata?
In che modo stai definendo questo tuo content type?
Rispondo alle vostre domande.
Non ho installato imagefield e filefield poiché da nessuna parte mi veniva richiesto.
Ma senza CCK non si può fare niente? No, non l'ho installato, poiché il content type l'ho definito diversamente.
Grazie
nessuno mette in dubbio, almeno io, che si possa fare in 100 modi diversi, tra cui sicuramente senza moduli contrib.
se segui quest'approccio, non so come aiutarti, mi dispiace.
CCK, views, imagecache, filefield, imagefield, sono la base comune della maggioranza dei siti in drupal; il motivo è semplice: coprono una buona fetta delle necessità di un sito, sono mantenute da una community efficientissima e si integrano quasi perfettamente tra loro.
se scrivi codice ad hoc, non solo reinventi la ruota, ma devi anche mantenerlo.....
secondo me, ovviamente.
se ci ripensi, ho creato una feature di esempio per un node type "galleria".
estrai la cartella in sites/all/modules e attiva la feature
ti servono:
features
cck
imageapi
imagecache
imagefield
filefield
galleria
l'unica cosa che devi fare dopo è impostare i due preset di esempio di imagecache (galleria_full e galleria_thumb) nella configurazione di galleria (admin/settings/galleria)
Certified to Rock
Rispondo alle domande.
Imagecache serve a gestire i vari formati (dimensioni ed altro) di ciascuna immagine presente sul sito.
questa pagina è molto chiara ed esplicativa al riguardo: http://drupal.org/node/163561
exactly. galleria e gli altri moduli citati fanno tutto magicamente (se correttamente impostati)
è esattamente quello che fa imagecache.
con cck e moduli associati; tranne alcuni aspetti del theming o casi particolari, è tutto fatto via UI, niente codice.
Certified to Rock
Dunque, io mi trovo a lavorare su drupal in situazioni atipiche, indi non ho l'obiettivo di risparmiare codice (anche perché la mia professione è quella di maneggiare codice intelligentemente), semmai quello di riutilizzarlo dove e come serve, e di risparmiarmelo se altri lo han già implementato per me.
Io mi trovo (diciamo) costretto ad utilizzare la componente framework di drupal, e quindi non posso sviluppare compilando delle form, bensì sfruttando le API messe a disposizione.
CCK & co. nel mio caso sono inutili poiché esistono diversi hook per poter definire il mio content type - indi non vado ad impelagarmi utilizzando le loro funzioni o a inviare form con drupal_execute -.
Ma allo stesso tempo, ad esempio, non creo un modulo per organizzare la taxonomy, bensì utilizzo le sue API per definire e gestire vocabolari e termini. Non so se rendo l'idea della sottile differenza che noto dal mio punto di vista.
Quindi se installo ImageCache per governare Upload e poi Galleria con Lightbox2 non risolvo il mio problema? Alla fine il fulcro del mio problema è esattamente questo - anche perché sto apprezzando il lavoro svolto da ImageCache -.
Grazie
Grazie a te della spiegazione.
Concordo pienamente che l'uso corretto delle API non è "reinventare la ruota" ed è senz'altro un metodo valido.
Non sono sicuro che un approccio simile permetta di risparmiare codice, ma a differenza di te, il "mio mestiere" è più quello di utilizzare in modo efficiente il codice creato da altri, e quindi non sono molto ferrato nell'utilizzo diretto delle API e magari mi sbaglio.
Voglio dire: non capisco come un modulo come galleria (tanto per dire) che implementa una libreria JS per drupal, debba essere più pesante o meno efficiente di un modulo ad hoc che fa la stessa cosa.
Anche sull'inutilità di CCK ho i miei dubbi perchè l'API di CCK è sicuramente molto più potente della core API, per quanto riguarda la gestione dei content types.
Anche views si può bypassare con delle semplici query al db e susseguente formattazione dei risultati, ma anche qui non vedo come sia più efficiente. e, ripeto, tutto il codice "nuovo" che scrivi, va in qualche modo mantenuto. anche se si tratta di implementazione standard delle API
Sarei curioso di sapere perchè sei "costretto" ad usare la componente framework...
Detto ciò, se uno ne capisce veramente, le 20 API sono uno strumento di gran lunga più potente e flessibile del semplice uso dei moduli e delle loro UI. Quindi di vantaggi ce ne saranno sicuramente molti, ma io non ci arrivo, per ora ;P
Tornando IT: se lightbox + imagecache fanno quello che desideri, pernso che vada bene. d'altro canto si tratta solo di usare un'altra libreria JS invece di galleria. Concordo su imagecache: è una pietra miliare per drupal.
Certified to Rock
Finora le core API hanno risposto brillantemente ai requisiti di sviluppo e non ho avuto mai alcun limite. In settimana mi documento sulle API di CCK & co. così potrò confrontare meglio. Comunque, osservando altri moduli del core o dal repo di drupal, ho notato che questi utilizzano le core API per i content type... Esistono delle tecniche di sviluppo molto efficienti. Quanto prodotto non serve mantenerlo a meno che non cambiano le specifiche. Non scendo nei dettagli del mio lavoro, però considera che è come se stessi sviluppando contrib modules che andranno installati non so dove e non so da chi. Per quel che mi riguarda devo solamente produrre moduli o meglio riutilizzare moduli esistenti e adattati allo scopo (e li adatto overridando dove serve). Inoltre quanto prodotto andrà a finire in un repository dove altri colleghi aggiungeranno il proprio lavoro. Io sarei a metà strada, nel senso che sono abbastanza nuovo di drupal, ma ho accumulato esperienze su altre tecnologie web che mi han dato gli strumenti per poter trattare con API, framework e via discorrendo - drupal l'ho trovato da subito molto semplice e intuitivo, oltre che bello xD -. Però tra il riutilizzare e il fare, preferisco il riutilizzare e l'overridare ;)
:D
mmm forse LightBox ci arriva vicino ma non fa il lavoro sperato. Anziché aprire l'overlay, dovrebbe occupare un'area predisposta all'ingrandimento dell'immagine.
Ma quindi Galleria è CCK-dipendente?
Se si, una domanda mi sorge spontanea: se un node type viene gestito poi dal core, qualsiasi sia il metodo per definirlo, perché allora Galleria è CCK dipendente? Dovrebbe "fregarsene" e funzionare, no?
Infine, non ho acceso il pc da lavoro oggi per provare il tuo esempio :D
lo farò lunedì XD
Grazie.
galleria è indipendente da CCK se viene utilizzato con il modulo upload e non con filefield/imagefield (che è CCK dipendente)
spero di non essere stato io a dirti una fesseria simile!Per tagliare la testa al toro vedi qui una demo. alleghi le foto al nodo ed il risultato è questo (ovviamente serve un po' di CSS per i ritocchi finali).
puoi investigare la api di cck (content) e altri moduli contrib qui: http://api.zzolo.org/api/drupal/drupal-6-contrib--cck--content.module/dr...
tanto per fare un esempio, posto l'export di un content type, che è poi anche il metodo con cui definire content type tramite cck. questo codice (o parte di esso!) può essere importato direttamente in cck attivando il modulo content copy
Per quanto riguarda l'esempio che ho postato, tieni a mente che è una feature, il concetto è spiegato qui: http://developmentseed.org/blog/2009/may/29/making-and-using-features-dr...
Certified to Rock
Ciao
scusa se rispondo adesso ma ho problemi di rete non del tutto conclusi.
Non ho ben capito il concetto di feature, magari inserito in questo contesto.
Per il resto non mi sembra male...