Menampilkan tayangan slide dari satu node

11

Saya mencoba mencapai slideshow yang berfungsi dari gambar dalam satu node. Gambar diunggah dari bidang gambar. Ini drupal 7. Saya membuat tipe konten baru dan semua yang saya buat sekarang adalah slideshow dari beberapa node (dengan satu gambar di setiap node). Ini berfungsi dengan baik tetapi itu terlalu bermasalah untuk menambahkan node baru untuk setiap gambar tunggal.

smogg
sumber
Untuk memiliki simpul per gambar adalah IMO cara yang disukai untuk melakukannya, karena lebih fleksibel. Anda dapat mempublikasikan / membatalkan publikasi node, menambahkan judul / teks deskripsi / tautan ke node yang dapat digunakan dalam slide show, antrian node dapat digunakan untuk mengatur penyortiran dll. Anda harus menambahkan masalah apa yang sebenarnya Anda hadapi dengan node tunggal pendekatan slideshow, apa yang telah Anda coba, apa yang terjadi, apa yang rusak dll. Apakah ini Drupal 6 atau 7? Modul rangkai salindia apa yang Anda gunakan?
googletorp
@googletorp Saya menggunakan modul "Tampilan Slideshow" dengan Drupal 7. Ini akan menjadi halaman slide / intro sederhana dan saya tidak memerlukan yang lain kecuali tampilan slide gambar sederhana tanpa judul, deskripsi, tombol navigasi dll. Saya mengonfigurasi tampilan seperti ini: format : Tampilan slide, tampilkan: bidang, konten: intro (ini adalah tipe konten saya untuk simpul ini). Sekarang menampilkan gambar satu per satu dalam satu baris.
smogg

Jawaban:

10

Dalam pengaturan bidang gambar tampilan, di bawah Pengaturan Beberapa Bidang , ada kotak centang untuk "Tampilkan Semua Nilai di Baris yang Sama" yang diperiksa secara default. Jika Anda hapus centang pada kotak ini, itu akan menempatkan setiap gambar di baris baru dan itu akan berfungsi seperti yang Anda inginkan. Saya tahu pandangan telah memiliki fitur ini setidaknya sejak versi 2, tetapi mungkin disebut sesuatu yang sedikit berbeda di versi yang lebih lama.

Saya suka melakukannya dengan cara ini untuk slideshow sederhana, saya dapat mengatur ulang semua gambar pada satu halaman node / edit. Tetapi untuk tayangan slide yang lebih kompleks, seperti di mana setiap gambar ditautkan di suatu tempat atau memiliki teks alternatif, taruhan terbaik Anda mungkin masih menggunakan satu simpul per baris.

Peluang G
sumber
7

The Lapangan Slideshow modul apa yang Anda butuhkan kemudian. Semua gambar terkandung dalam node (tidak ada simpul bloat) dan menggunakan siklus jquery (Sama seperti tampilan slide) untuk menghasilkan galeri dan tampilan slide dinamis.


sumber
2

Saya baru-baru ini membangun sebuah situs dengan galeri sederhana dan akhirnya saya tidak menggunakan modul tayangan slide tambahan sama sekali. Yang saya butuhkan adalah jQuery Cycle dan sedikit javascript, ditambahkan ke tema khusus saya. Situs ini memiliki tipe konten 'foto' dan kosakata 'album' untuk menetapkan foto ke berbagai album. Tampilan membuat daftar foto yang difilter menurut album. Dalam tema saya, saya memiliki file js yang terlihat seperti ini:

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

Sentuhan CSS menyelesaikannya:

.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, tidak selalu lebih baik untuk memiliki satu simpul per gambar. Memang benar bahwa pendekatan ini memberikan fleksibilitas yang lebih besar (misalnya menambahkan satu gambar ke beberapa tayangan slide), tetapi bagi beberapa pengguna akhir, fleksibilitas yang tidak dibutuhkan hanyalah kompleksitas yang tidak ada gunanya.

marcvangend
sumber
2

Anda mungkin mempertimbangkan untuk menggunakan modul Galleria . Ini menggunakan satu node dan menampilkan gambar dari itu sebagai tampilan slide.

shonk
sumber
Ya, saya tahu modul ini dan saya menggunakannya di situs yang sama dengan galeri. Tetapi sulit untuk mencapai tampilan slide sederhana tanpa tombol navigasi dll. Tapi tidak masalah, saya tetap menggunakan sistem gambar per simpul. Juga modul galleria tidak berfungsi ketika saya mengaktifkan kompresi js di konfigurasi >> performance; /
smogg
2

Saya menemukan cara yang baik untuk memiliki banyak gambar dan banyak tautan per gambar dalam satu simpul tunggal:

Apa yang ingin Anda lakukan adalah memastikan bahwa bidang gambar dan tautan ditetapkan tidak terbatas dalam jenis konten. Saat Anda membuat tampilan, pastikan juga "Tampilkan semua nilai di baris yang sama" TIDAK dicentang. Tambahkan bidang delta untuk gambar Anda dan tautan Anda. Tambahkan filter Global: PHP dan atur kode filter untuk ini: return (! $ Row-> delta == $ row-> delta_1);

Itu harus dilakukan. Anda harus memasang modul Views PHP untuk menggunakan PHP sebagai filter.

Brandon
sumber
2

Untuk menampilkan beberapa gambar node tunggal dalam slider, gunakan modul blok display Dinamis dan baca pengaturan konfigurasi. Dalam hal ini ketika Anda membuat tampilan untuk menampilkan blok slider, harap jangan centang kotak di menambahkan gambar dengan "Tampilkan Beberapa pengaturan lapangan" jika sudah dicentang maka silakan hapus centang.

swapnil bijwe
sumber
1

Seperti hampir semua yang ada di Drupal, ada banyak solusi berbeda untuk ini, tetapi saya ingin berbagi yang sederhana yang belum saya temui di mana pun.

Pada dasarnya, saya sedang mencari cara untuk menampilkan sekelompok bidang yang berbeda — semuanya terlampir pada satu simpul — dalam tayangan slide. Bidang-bidang ini termasuk bidang gambar dan teks. Jadi, untuk menampilkan semua bidang yang dilampirkan ke satu simpul dalam tampilan slide:

  1. Buat tampilan untuk tayangan slide Anda. Gunakan format "Daftar Tidak Terformat".
  2. Atur tampilan untuk hanya menampilkan satu item, sehingga Anda hanya berurusan dengan satu node (atau gunakan Filter Kontekstual: NID)
  3. Tambahkan semua bidang yang ingin Anda tampilkan di tayangan slide. Kecualikan semua bidang dari tampilan.
  4. Tambahkan bidang khusus (pastikan bidang ini diberikan setelah semua bidang yang telah Anda kecualikan dari tampilan). Di sinilah Anda akan membangun markup dasar untuk tayangan slide Anda. Dengan menggunakan pola penggantian yang tersedia, setel setiap bidang yang tersedia di dalam liitem seperti ini:
    
    <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. Kemudian Anda dapat menjalankan slider jQuery pilihan Anda. Jika Anda telah menginstal di Plugin jQuery Cycle , Anda dapat menjalankannya dengan mudah di slider. Pastikan plugin dimuat pada halaman dengan slider Anda, dan kemudian jalankan di yang baru dibuat ul:
    
    (function ($, Drupal, window, document, undefined) {
    
        $(document).ready(function() {
            $('#slider').cycle({
            // choose your options
        });
        });
    
    })(jQuery, Drupal, this, this.document);
    
    

Dan Anda harus baik untuk pergi.

zgreen
sumber
0

Ada moduel https://www.drupal.org/project/field_slonton yang dibuat untuk membuat tayangan slide dari satu node.

Secara pribadi, saya pikir ini akan menjadi penggunaan yang bagus dari templat tipe simpul, maka setiap simpul jenis itu akan diformat sebagai peragaan slide dengan tingkat kontrol yang tinggi, seperti di mana harus menyajikan sisa bidang untuk itu simpul ...

Daniel Lefebvre
sumber