Een werkende views slideshow met Drupal 7.0 en jCarousel 7.x-2.2-alpha1

warning: htmlspecialchars() expects parameter 1 to be string, array given in /home/wvkmo/domains/websitevoorkmo.be/public_html/includes/bootstrap.inc on line 856.

Drupal 7 is er, maar een slideshow aan de praat krijgen is voorlopig nog niet zo simpel. Normaal gebruik ik de views carousel module, maar hier worden geen nieuwe versies meer van uitgebracht aangezien de jCarousel module sinds 2.x identiek dezelfde functionaliteit bevat. Maar ... de views integratie staat nog niet op punt. Opgelet, dit artikel is geldig voor jCarousel versie 7.x-2.2-alpha1. Volgende versies zouden wel views integratie moeten hebben.

Als je al je view hebt, activeer de 'PHP Filter' module en ga naar stap 6.

Volgende modules hebben we nodig:

Stappen:

  1. Upload deze modules naar de server en activeer ze.

     
  2. Activeer de 'PHP filter' module (onder core)

     
  3. Maak een content type aan om als slides te gebruiken. Ik heb het 'slide' genoemd en een veld 'field_slide_image' van het type 'Image' toegevoegd (314x100px).

     
  4. Voeg enkele nodes toe.
     
  5. Maak een view aan met een 'block' display. Filter op je gekozen content type en stel eventuele andere voorkeuren in.
  6. En nu het belangrijke deel. Stel onder 'Style settings' -> 'Style' 'HTML List' in. 'jCarousel' is wat we in toekomstige versies zullen instellen, maar nu werkt het nog niet.
  7. Bij de 'Style options' van 'HTML List' (normaal volgende scherm) stel je een 'List class' in. Ik heb gekozen voor 'slideshow-item-list'.

     
  8. Voeg een footer toe (Add footer) en kies voor het type 'Global: Text area'.
     
  9. Geef volgende tekst in (enkel het deel in het vet):
    <?php jcarousel_add('slideshow-item-list', array('auto' => 5,'wrap' => 'circular', 'scroll' => 1)); ?>
    Vervang 'slideshow-item-list' met de 'List class' die je in stap 7 gekozen hebt. In de array erachter kan je opties kiezen. Meer opties kan je vinden onder admin/help/jcarousel op je eigen site.
     
  10. Zorg ervoor dat 'Text format' op 'PHP code' staat

     
  11. Sla je view op.
     
  12. Ga naar 'Structure' -> 'Blocks' en verplaats je block naar de gewenste positie.

Klaar! Je kan een werkend voorbeeld zien op: http://drupal7.maartendeblock.com/

PS: Ik heb volgende CSS gebruikt:

#block-views-slideshow-block-1,
#block-views-slideshow-block-1 ul{
width:314px;
}

#block-views-slideshow-block-1 ul li{
float:left;
margin:0;
width:314px;
height:100px;
}