it-swarm.it

Visualizza la presentazione da un singolo nodo

Sto cercando di ottenere una presentazione funzionante dalle immagini in un singolo nodo. Le immagini vengono caricate dal campo immagine. È drupal 7. Ho creato un nuovo tipo di contenuto e tutto ciò che ho fatto ora è una presentazione da più nodi (con un'immagine in ogni nodo). Funziona bene ma è troppo problematico aggiungere un nuovo nodo per ogni singola immagine.

11
smogg

Nelle impostazioni del campo immagine delle viste, in Impostazioni campo multiplo, è presente la casella di controllo "Visualizza tutti i valori nella stessa riga" che è selezionata per impostazione predefinita. Se deselezioni questa casella, ogni immagine verrà inserita in una nuova riga e funzionerà come richiesto. So che le viste hanno questa funzionalità almeno dalla versione 2, ma potrebbe essere chiamata qualcosa di leggermente diverso nelle versioni precedenti.

Mi piace farlo in questo modo per presentazioni semplici, posso riorganizzare tutte le immagini su un nodo/modificare la pagina. Ma per presentazioni più complesse, come dove ogni immagine si collega da qualche parte o ha un testo alternativo, la soluzione migliore è probabilmente quella di utilizzare un nodo per riga.

10
Chance G

Il modulo Field Slideshow è esattamente ciò di cui hai bisogno allora. Tutte le immagini sono contenute all'interno del nodo (nessun nodo gonfio) e utilizza il ciclo jquery (lo stesso delle viste di presentazione) per produrre una galleria e una presentazione dinamiche.

7
user842

Puoi prendere in considerazione l'utilizzo del modulo Galleria . Utilizza un singolo nodo e visualizza le immagini da esso come una presentazione.

2
shonk

Di recente ho creato un sito con gallerie semplici e ho finito per non usare affatto moduli di presentazione aggiuntivi. Tutto ciò di cui avevo bisogno era jQuery Cycle e un po 'di javascript, aggiunti al mio tema personalizzato. Questo sito ha un tipo di contenuto "fotografico" e un vocabolario "album" per assegnare le foto a album diversi. Una vista crea un elenco di foto filtrate per album. Nel mio tema ho un file js che assomiglia a questo:

(function($){

Drupal.behaviors.myAlbumSlideshow = {
  attach: function(){
    var slideshowContent = $('.view-fotoalbum.view-display-id-page_1>.view-content');

    slideshowContent.before('<div id="slideshow-prev">&lt;</div><div id="slideshow-next">&gt;</div>');

    slideshowContent.cycle({
      fx:       'scrollHorz',
      next:     '#slideshow-next',
      prev:     '#slideshow-prev',
      timeout:  0
    });

    var slideshowHeight = slideshowContent.height() + 'px';
    $('#slideshow-prev, #slideshow-next').css('lineHeight', slideshowHeight);
  }
}

})(jQuery)

Un tocco di CSS lo completa:

.view-fotoalbum {
  width: 710px;
  margin-right: 10px;
}

.view-fotoalbum #slideshow-prev {
  color: #808080;
  border-right: 1px solid #808080;
  cursor: pointer;
  float: left;
  line-height: 300px;
  margin-left: -40px;
  text-align: center;
  width: 30px;  
}

.view-fotoalbum #slideshow-next {
  color: #808080;
  border-left: 1px solid #808080;
  cursor: pointer;
  float: right;
  line-height: 300px;
  margin-right: -40px;
  text-align: center;
  width: 30px;
}

PS. IMHO, non è sempre meglio avere un singolo nodo per immagine. È vero che questo approccio offre una maggiore flessibilità (ad esempio aggiungendo un'immagine a più presentazioni), ma per alcuni utenti finali, la flessibilità non necessaria è solo una complessità inutile.

2
marcvangend

Per mostrare più immagini di un singolo nodo nel dispositivo di scorrimento, utilizzare il modulo Dynamic display block e leggere l'impostazione di configurazione. In questo caso quando crei una vista per mostrare il dispositivo di scorrimento, ti preghiamo di non selezionare la casella di controllo per aggiungere l'immagine con "Mostra più impostazioni di campo" se è già selezionata, quindi deselezionala.

2
swapnil bijwe

Ho scoperto un buon modo per avere più immagini e più collegamenti per immagine in un singolo nodo:

Quello che vorrai fare è assicurarti che entrambi i campi immagine e collegamento siano impostati su illimitati nel tipo di contenuto. Quando si crea la vista, assicurarsi anche che "Visualizza tutti i valori nella stessa riga" NON sia selezionato. Aggiungi un campo delta per la tua immagine e per il tuo link. Aggiungi un Global: PHP e imposta il codice filtro su questo: return (! $ Row-> delta == $ row-> delta_1);

Questo dovrebbe farlo. Dovrai avere Views PHP installato per usare PHP come filtro.

2
Brandon

Consiglio il modulo Colorbox

Inoltre, dai un'occhiata al seguente video tutorial: Colorbox per Drupal 7, parte 1: installazione e integrazione del campo immagine

1
Fuligginoso

Come quasi tutto in Drupal, ci sono un sacco di soluzioni diverse per questo, ma voglio condividerne una semplice che non ho ancora incontrato da nessuna parte.

In sostanza, stavo cercando un modo per visualizzare un mucchio di campi diversi, tutti collegati a un singolo nodo, in una presentazione. Questi campi includevano entrambi i campi immagine e testo. Quindi, per visualizzare tutti i campi collegati a un singolo nodo in una presentazione:

  1. Crea una vista per la tua presentazione. Utilizzare il formato "Elenco non formattato".
  2. Imposta la visualizzazione in modo da visualizzare solo un elemento, in modo che tu abbia a che fare solo con un singolo nodo (o usa il Filtro contestuale: NID)
  3. Aggiungi tutti i campi che desideri visualizzare nella presentazione. Escludi tutti i campi dalla visualizzazione.
  4. Aggiungi un campo personalizzato (assicurati che questo campo sia visualizzato dopo tutti i campi che hai escluso dalla visualizzazione). Qui puoi creare il markup di base per la presentazione. Utilizzando i modelli di sostituzione disponibili, imposta ogni campo disponibile all'interno di un elemento li come questo:
    
    <ul id="slider">
    <li>[text_field_1]</li>
    <li>[image_field_1]</li>
    <li>[text_field_2]</li>
    <li>[image_field_2]</li>
    </ul>
    
  5. Quindi è possibile eseguire il dispositivo di scorrimento jQuery preferito. Se hai già installato nel jQuery Cycle Plugin , puoi farlo facilmente sul dispositivo di scorrimento. Assicurati solo che il plugin sia caricato sulla pagina con il tuo dispositivo di scorrimento, quindi eseguilo sul tuo ul appena creato:
    
    (function ($, Drupal, window, document, undefined) {
    
        $(document).ready(function() {
            $('#slider').cycle({
            // choose your options
        });
        });
    
    })(jQuery, Drupal, this, this.document);
    

E dovresti essere bravo ad andare.

1
zgreen

Esiste un moduel https://www.drupal.org/project/field_slideshow creato per creare una presentazione da un singolo nodo.

Personalmente, penso che questo sarebbe un grande uso di un modello di tipo nodo, quindi ogni nodo di quel tipo sarebbe formattato come una presentazione con un alto grado di controllo, come dove presentare il resto dei campi per quello nodo...

0
Daniel Lefebvre