it-swarm-eu.dev

Zobrazení prezentace z jednoho uzlu

Snažím se dosáhnout pracovní prezentace z obrázků v jednom uzlu. Obrázky se nahrávají z obrazového pole. Je to drupal 7. 7. Vytvořil jsem nový typ obsahu a vše, co jsem nyní vytvořil, je prezentace z více uzlů (s jedním obrázkem v každém uzlu). Funguje to dobře, ale je příliš problematické přidat nový uzel pro každý uzel jeden obrázek.

11
smogg

V nastaveních obrazových polí zobrazení v části Nastavení více polí je zaškrtnuto políčko „Zobrazit všechny hodnoty ve stejném řádku“, které je ve výchozím nastavení zaškrtnuto. Pokud zrušíte zaškrtnutí tohoto políčka, umístí každý obrázek do nového řádku a bude fungovat podle potřeby. Vím, že názory mají tuto funkci od verze alespoň 2, ale ve starších verzích by to mohlo být nazýváno něco trochu jiného.

Líbí se mi to tímto způsobem pro jednoduché prezentace, mohu změnit uspořádání všech obrázků na jednom uzlu/upravit stránku. Ale u složitějších prezentací, jako je místo, kde každý obraz někde odkazuje nebo má alternativní text, je nejlepší vsadit, že vždy použijete jeden uzel na řádek.

10
Chance G

Modul Field Slideshow je tedy přesně to, co potřebujete. Všechny obrázky jsou obsaženy v uzlu (bez vybarvení uzlů) a k vytvoření dynamické galerie a prezentace používá cykly jQuery (stejné jako u prezentace).

7
user842

Můžete zvážit použití modulu Galleria . Používá jeden uzel a zobrazuje z něj obrázky jako prezentaci.

2
shonk

Nedávno jsem vytvořil web s jednoduchými galeriemi a nakonec jsem nepoužíval další moduly slideshow. Vše, co jsem potřeboval, bylo jQuery Cycle a malý javascript, přidaný do mého vlastního motivu. Tento web obsahuje typ obsahu „fotografie“ a slovníček „alba“ pro přiřazení fotografií k různým albům. Pohled vytvoří seznam fotografií filtrovaných podle alba. V mém tématu mám soubor js, který vypadá takto:

(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)

Dotek CSS to dokončí:

.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, není vždy lepší mít jeden uzel na obrázek. Je pravda, že tento přístup poskytuje větší flexibilitu (například přidání jednoho obrázku do více prezentací), ale pro některé koncové uživatele je zbytečná flexibilita zbytečná složitost.

2
marcvangend

Chcete-li zobrazit více obrázků jednoho uzlu v posuvníku, použijte modul Dynamický blok zobrazení a přečtěte si nastavení konfigurace. V tomto případě, když vytvoříte zobrazení pro zobrazení posuvného bloku, nezaškrtávejte zaškrtávací políčko při přidávání obrázku pomocí možnosti „Zobrazit nastavení více polí“, pokud již bylo zaškrtnuto, a poté jej zrušte.

2
swapnil bijwe

Objevil jsem dobrý způsob, jak mít více obrázků a více odkazů na jeden obrázek v jednom uzlu:

Co budete chtít udělat, je ujistit se, že jak pole obrázku, tak odkaz jsou v typu obsahu nastaveny na neomezené. Při vytváření pohledu také zkontrolujte, zda „Zobrazit všechny hodnoty ve stejném řádku“ NENÍ zaškrtnuto. Přidejte pole delta pro svůj obrázek a pro svůj odkaz. Přidejte globální: PHP filtr a nastavte kód filtru na tento: return (! $ Row-> delta == $ row-> delta_1);

To by mělo udělat. Budete muset mít nainstalovaný modul Views PHP), abyste mohli použít filtr PHP jako filtr.

2
Brandon

Doporučuji modul Colorbox

Podívejte se také na následující video tutoriál: Colorbox for Drupal 7, část 1: Instalace a integrace obrazového pole

1
Fuligginoso

Stejně jako téměř všechno v Drupalu existuje i celá řada různých řešení, ale chci se podělit o jedno jednoduché, s čím jsem se dosud nikde nesetkal.

V podstatě jsem hledal způsob, jak zobrazit v prezentaci spoustu různých polí - všechna připojená k jednomu uzlu -. Tato pole zahrnovala obrazová i textová pole. Chcete-li zobrazit všechna pole připojená k jednomu uzlu v prezentaci:

  1. Vytvořte zobrazení své prezentace. Použijte formát „Neformátovaný seznam“.
  2. Nastavte zobrazení tak, aby zobrazovalo pouze jednu položku, takže se zabýváte pouze jedním uzlem (nebo použijte kontextový filtr: NID)
  3. Přidejte všechna pole, která chcete zobrazit v prezentaci. Vyloučit všechna pole ze zobrazení.
  4. Přidejte vlastní pole (ujistěte se, že je toto pole vykresleno po všechna pole, která jste vyloučili ze zobrazení). Zde vytvoříte základní označení vaší prezentace. Pomocí dostupných náhradních vzorů nastavte každé dostupné pole do položky li takto:
    
    <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. Pak můžete spustit preferovaný posuvník jQuery. Pokud jste již nainstalovali v jQuery Cycle Plugin , můžete to snadno spustit na posuvníku. Jen se ujistěte, že je plugin načten na stránce pomocí posuvníku, a poté jej spusťte na nově vytvořeném ul:
    
    (function ($, Drupal, window, document, undefined) {
    
        $(document).ready(function() {
            $('#slider').cycle({
            // choose your options
        });
        });
    
    })(jQuery, Drupal, this, this.document);
    

A měli byste být dobrí.

1
zgreen

Existuje modul https://www.drupal.org/project/field_slideshow , který je vytvořen pro vytvoření prezentace z jediného uzlu.

Osobně si myslím, že by to bylo skvělé použití šablony typu uzlu, pak by každý uzel tohoto typu byl formátován jako prezentace s vysokým stupněm kontroly, jako je například to, kam za účelem prezentace zbývajících polí uzel...

0
Daniel Lefebvre