Visualiza a apresentação de slides a partir do nó único

11

Estou tentando alcançar a apresentação de slides de trabalho de imagens em um único nó. As imagens são carregadas do campo de imagem. É drupal 7. Criei um novo tipo de conteúdo e tudo o que fiz agora é apresentação de slides de vários nós (com uma imagem em cada nó). Isso funciona bem, mas é problemático demais para adicionar novo nó para cada imagem.

smogg
fonte
Ter um nó por imagem é IMO a maneira preferida de fazê-lo, pois é mais flexível. Você pode publicar / cancelar a publicação de nós, adicionar texto / descrição de título / descrição aos nós que podem ser usados ​​na apresentação de slides, a fila de nós pode ser usada para organizar a classificação etc. etc. Você deve adicionar os problemas que realmente está enfrentando com o único nó abordagem de apresentação de slides, o que você tentou, o que aconteceu, o que está quebrado, etc. Também é este Drupal 6 ou 7? Qual módulo de apresentação de slides você usa?
googletorp
@googletorp Eu uso o módulo "Views Slideshow" com o Drupal 7. Será uma simples apresentação de slides / página de introdução e não preciso de mais nada além de uma simples apresentação de slides de imagens sem título, descrição, botões de navegação etc. Configurei visualizações como esta: format : Slideshow, show: fields, content: intro (é o meu tipo de conteúdo para este nó). Agora, mostra imagens uma a uma em uma única linha.
Smogg 31/05

Respostas:

10

Nas configurações do campo de imagem das visualizações, em Múltiplas configurações de campo , há a caixa de seleção "Exibir todos os valores na mesma linha", que está marcada por padrão. Se você desmarcar esta caixa, ela colocará cada imagem em uma nova linha e funcionará conforme necessário. Eu sei que o Views possui esse recurso desde pelo menos a versão 2, mas pode ser chamado de algo um pouco diferente nas versões mais antigas.

Gosto de fazê-lo desta maneira para apresentações de slides simples, posso reorganizar todas as imagens em uma página de nó / edição. Mas, para apresentações de slides mais complexas, como onde cada imagem é vinculada a algum lugar ou possui texto alternativo, sua melhor aposta provavelmente ainda é usar um nó por linha.

Chance G
fonte
7

O módulo Apresentação de slides de campo é exatamente o que você precisa. Todas as imagens estão contidas no nó (sem inchaço do nó) e ele usa o ciclo de jquery (o mesmo que as exibições de slides) para produzir uma galeria dinâmica e uma apresentação de slides.


fonte
2

Recentemente, criei um site com galerias simples e acabei não usando módulos adicionais de apresentação de slides. Tudo o que eu precisava era do ciclo jQuery e um pouco de javascript, adicionado ao meu tema personalizado. Este site possui um tipo de conteúdo de 'foto' e um vocabulário de 'álbum' para atribuir fotos a diferentes álbuns. Uma visualização cria uma lista de fotos filtradas por álbum. No meu tema, eu tenho um arquivo js que se parece com isso:

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

Um toque de CSS termina:

.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, nem sempre é melhor ter um único nó por imagem. É verdade que essa abordagem fornece maior flexibilidade (por exemplo, adicionar uma imagem a várias apresentações de slides), mas para alguns usuários finais, a flexibilidade desnecessária é apenas uma complexidade sem sentido.

Marcvangend
fonte
2

Você pode considerar usar o módulo Galleria . Ele usa um único nó e exibe as imagens como uma apresentação de slides.

shonk
fonte
Sim, conheço este módulo e estou usando-o no mesmo site da galeria. Mas é difícil conseguir uma apresentação de slides simples, sem botões de navegação, etc. Mas não importa, eu fico com a imagem por sistema de nós. Também galleria módulo de does not trabalho quando ligo js compressão na configuração >> desempenho; /
smogg
2

Eu descobri uma boa maneira de ter várias imagens e vários links por imagem em um único nó:

O que você deseja fazer é garantir que os campos de imagem e link estejam definidos como ilimitados no tipo de conteúdo. Ao criar sua exibição, verifique também se "Exibir todos os valores na mesma linha" NÃO está marcado. Adicione um campo delta à sua imagem e ao seu link. Adicione um filtro Global: PHP e defina o código do filtro para isso: return (! $ Row-> delta == $ row-> delta_1);

Isso deve resolver. Você precisará ter o módulo PHP do Views instalado para usar o PHP como um filtro.

Brandon
fonte
2

Para mostrar várias imagens de um único nó no controle deslizante, use o módulo de bloco de exibição dinâmica e leia a configuração. Neste, quando você cria uma exibição para mostrar o bloco deslizante, não marque a caixa de seleção ao adicionar imagem com "Mostrar várias configurações de campo", se já estiver marcada, desmarque-a.

swapnil bijwe
fonte
1

Como quase tudo no Drupal, existem várias soluções diferentes para isso, mas quero compartilhar uma simples que ainda não encontrei em nenhum lugar.

Basicamente, eu estava procurando uma maneira de exibir vários campos diferentes - todos anexados a um único nó - em uma apresentação de slides. Esses campos incluíam os campos de imagem e texto. Portanto, para exibir todos os campos anexados a um único nó em uma apresentação de slides:

  1. Crie uma exibição para sua apresentação de slides. Use o formato "Lista não formatada".
  2. Defina a visualização para exibir apenas um item, para que você esteja lidando apenas com um único nó (ou use o Filtro Contextual: NID)
  3. Adicione todos os campos que você deseja que apareçam na apresentação de slides. Excluir todos os campos da exibição.
  4. Adicione um campo personalizado (verifique se esse campo é renderizado após todos os campos que você excluiu da exibição). É aqui que você cria a marcação básica para sua apresentação de slides. Usando os padrões de substituição disponíveis, defina cada campo disponível dentro de um liitem como este:
    
    <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. Em seguida, você pode executar o controle deslizante jQuery preferido. Se você já instalou no jQuery Cycle Plugin , pode executá-lo com facilidade no controle deslizante. Apenas verifique se o plug-in está carregado na página com o controle deslizante e execute-o no seu recém-criado ul:
    
    (function ($, Drupal, window, document, undefined) {
    
        $(document).ready(function() {
            $('#slider').cycle({
            // choose your options
        });
        });
    
    })(jQuery, Drupal, this, this.document);
    
    

E você deve estar pronto para ir.

zgreen
fonte
0

Existe um modelo https://www.drupal.org/project/field_slideshow que é feito para criar uma apresentação de slides a partir de um único nó.

Pessoalmente, acho que esse seria um ótimo uso de um modelo do tipo nó, e cada nó desse tipo seria formatado como uma apresentação de slides com um alto grau de controle, como onde apresentar o restante dos campos para esse nó...

Daniel Lefebvre
fonte