Table of contents
Lien de référence : https://owlcarousel2.github.io/OwlCarousel2/
Installation
Configuration
Vous pouvez activer l’insertion des styles et javascript du plugin dans l’espace public et dans l’espace privé de spip sur la page de configuration du plugin.
Exemples
Des exemples utilisables dans vos squelettes se trouvent dans le dossier “noisettes” du plugin. Ce répertoire est plus un outil pour squelette, et destiné plus particulièrement aux intégrateurs.
Les noisettes fournies peuvent servir de point de départ et ne conviendront certainement pas à tous les cas d’utilisation en l’état.
Il faut plus les considérer comme des extraits de code facilitant l’intégration à votre projet.
Modèle
Un modèle est tout prêt pour afficher les documents d’un article de type jpg, gif ou png dans un diaporama insérable de cette manière :
<articleX|owl>
où “X” est l’id de l’article, pour afficher toutes les images de cet article.
Quelques paramètres permettent de modifier quelques réglages, et se définissent de cette manière lors de l’inclusion du modèle :
<articleX|owl|parametre=valeur>
- id-carousel=unikid : id unique du carousel, doit être renseigné si plusieurs carousels dans la même page.
- caption=oui : afficher la description de l’image
- tri=titre : (rang_lien par defaut) spécifier l’ordre de tri des documents
- dots=false (true par defaut) : affiche les points pour changer d’image
- navigation=true (false par defaut) : afficher les boutons précédents/suivants
- items=2 (1 par défaut) : pour afficher plusieurs images en même temps
- margin=10 : pour ajouter une marge entre chaque image, en pixels
- docs=1,2,3 : affiche uniquement les documents 1, 2 et 3. Dans ce cas, le numéro identifiant de l’article est optionnel, vous pouvez donc écrire
<article|owl|docs=1,2,3>
pour afficher ce diaporama n’importe où dans le site, tant que les documents existent dans la médiathèque - caption_css=monstyle : ajouter des css sur la description (par exemple : invisible)
- autoHeight=true : pour que la hauteur soit adaptée à chaque diapositive
- autoplay=true (false par défaut) : le carousel démarre automatiquement
- autoplayHoverPause=true (false par défaut) : pause au survol en mode autoplay
- autoplayTimeout=6500 (5000 par défaut, en milliseconde) : durée d’affichage d’une diapositive
- lazyLoad=true (false par défaut) : ne charge que les images visibles pour optimiser le chargement.
- animateIn= une classe css animation CSS3. par défaut seul fadeOut est proposé par le plugin.
- animateOut= une classe css animation CSS3. par défaut seul fadeOut est proposé par le plugin.
- URLhashListener=true : pour suivre le diaporama dans l’historique de navigation.
- largeur=200 : redimenssionne les images à 200px de large.
- left|center|right : alignement du diaporama à gauche, au centre ou à droite.
Particularité
Avec le paramètre docs=1,2,3,4
et dans le cas où on n’utilise pas un numéro d’article, exemple : <article|owl|docs=1,2,3,4>
alors il faut ajouter le paramètre |tri=titre
:
<article|owl|docs=1,2,3,4|tri=titre>
(le tri sur rang_lien ne peut exister s’il n’y a pas de numéro d’article)
Discussions par date d’activité
22 discussions
Bonjour,
est-il possible d’avoir un lien cliquable sur chaque image du slider ?
Merci pour vos infos.
Koala
Pas avec les modèles actuels livrés avec le plugin (à ma connaissance).
C’est possible en s’inspirant/dupliquant une des modèles ou noisettes livrés dans le plugin et en rajoutant le lien.
A noté que si vous utilisez Owl pour bénéficier de la gestion du swipe/touch sur mobile ajouter un lien sur l’image entière sera problématique.
Reply to this message
bonjour ,
en spip 3.2- et 3.3 j’ai un effet bizarre. SI je slide en glissé ou avec flèche j’ai des raies verticales sur certaines images qui s’accentuent si on slide plus vite. J’ai constaté qu’avec un effet sur image greyscale ou sepia cela ne se produit pas.
c’est pas logique mais cela disparait en rajoutant le style suivant . avez vous une idée du pb ?
Reply to this message
Bonjour,
j’ai un soucis avec le plugin depuis qq jours (je suis en spip 3.1.10, tous mes plugins sont à jour). Le pb était présent avant les mises à jour (spip et plugin)
Qd il est activé, il y a un message d’erreur en front-office et le slider ne s’affiche pas mais affiche le code <article3033|owl|docs=6085,6086,6087,6088,6089>
ca viendrait du fichier composer.php (ecrire), ligne 1005 et de la boucle : calculer_select() sql_select();
mais je ne suis pas expert en mode debug ...
Merci pour votre aide
Paul
Bonjour Paul,
Effectivement en spip 3.1 il est nécessaire d’installer le plugin ordoc pour pouvoir utiliser : ‘rang_lien’.
Cet intégré depuis spip 3.2. Je vais tacher de modifier le paquet.xml du plugin pour necessiter ordoc en spip <3.2.
Merci de votre retour.
ça marche !
merci pour votre aide et rapidité ;)
Bonjour
je suis sous spip 3.2.4 et donc normalement mon spip conanit rang_lien mais après avoir intégrer le [(#MODELEarticle_owl)] dans la page d’accueil, j’ai une erreur
Si on pouvait m’aider... merci infiniment
Belle journée
Christophe
Désolé j’avais pas vu qu’il fallait donner le chemin d’un article. Donc ça marche. Par contre je trouve l’image un peu pixélisé sur le site lairederien.net. Je vais regarder cela de plus près.
Et en attendant est-ce que quelqu’un sait comment faire pour éviter les mélanges de format vertical / horizontal?
Merci
Christophe
Reply to this message
juste un petit soucis : si une image est moins haute que la précédente ... il y a un très fin trait sur la gauche du slider visible sur la différence de hauteur
Bonjour,
j’ai déjà vu un très fin trait mais sans pouvoir reproduire ni comprendre ce qui le provoquait, je pensait que c’était dû au contexte d’affichage. Est-ce qu’on peut voir l’exemple en ligne ?
je t’ai mis en ligne le site de test :
exemple très visible sur http://test3.montpellier2.web-ecclesial.fr/spip.php?rubrique49
puis aussi sur http://test3.montpellier2.web-ecclesial.fr/spip.php?rubrique16 ( on voit le trait a droite du titre par exemple )
Alors oui, j’ai déjà vu ça, ça ne se produit qu’avec Firefox il me semble, et ce n’est pas dans toutes les largeurs du navigateur. Je n’ai pas encore trouvé le remède, si quelqu’un a une idée je suis aussi preneur...
apparemment ce n’est pas un p de css mais plutot de la position de l’image précédente
Reply to this message
Bonjour,
Dans l’espace privé, si je suis au niveau de “modifier cet article”, je vois bien le slider
si je clique sur modifier puis sur un des onglet de visualisation ( voir ou modif/voir) , j’ai le code javascript propre au modèle qui s’affiche et pas le slider.
Est-ce normal ou est-ce un soucis sur mon site ?
Bonjour,
c’est bien normal, le javascript n’est pas exécuté à cet endroit, c’est fait pour y vérifier les styles sur le texte. Pour voir la page telle que si elle était publiée, il faut passer par “prévisualiser”.
Bonjour,
C’est due a une sécurité de spip qui désactive le javascript des modèles car ils sont considérés comme malveillants insérés depuis une saisie textarea.
Ceci est principalement due au fait que l’édition des articles/objets spip peut aussi être publique et donc possiblement utilisable pour insérer des scripts malveillants.
Si votre site n’utilise pas l’édition coté publique, il est possible d’assouplir cette rêgle, qui rend un peut inutile la prévisualisation en mode édition.
Pour mieux comprendre https://www.spip.net/fr_article4642.html
Je vais essayer de trouver le temps (demain ^^) de rédiger une petite note sur les options possibles, mais on ne peut pas l’intégrer au plugin en standard, pour les raisons précédentes.
Reply to this message
Bonjour.
Petite “surprise” avec le modèle de base (super pratique, merci) : si on utilise la syntaxe docs=1,2,3 ... , pas de problème tant qu’on conserve le numéro de l’article (<articleX|owl|docs=...>, mais lorsqu’on supprime, ça déclenche une erreur de la bdd sur le tri par “rang_lien”, qui n’existe pas.
Si je rajoute explicitement “tri=titre” , tout fonctionne. Pas grave donc, mais il serait peut-être judicieux de l’indiquer dans le mode d’emploi ?
Merci pour ce super gadget.
Alain
Ah oui bien vu ! S’il n’y a pas d’article on ne peut pas se baser sur rang_lien, forcément...
J’ajoute ça dans la doc, merci !
Reply to this message
Re-bonjour, encore moi… je vais finir par être confuse !
Donc tout fonctionne à merveille et comme je le souhaite maintenant… enfin presque :
Lorsque j’ajoute une image et que je l’insère dans le texte d’un article, elle s’affiche en plus dans le carrousel dont j’appelle le modèle article_owl à la place du modèle document dans le porte-folio.
Je pensais qu’avec la classe “mediabox” du modèle article_owl.html ça irait tout seul et qu’une image intégrée dans le texte ne s’afficherait pas dans le porte-folio, ou qu’il fallait absolument que l’image soit mise dans le porte-folio pour apparaître dans le carrousel appelé de cette façon (je l’écris en français maintenant ;p !)…
J’ai bien essayé le critère doublons dans la boucle du modèle, mais je crois que je ne sais pas l’utiliser. Ou n’est-ce pas la bonne piste ?
Bonsoir,
si on veut pas toutes les images de l’article dans le carrousel, alors il faut les passer explicitement au modèle avec le paramètre |docs=1,2,3,4
Mais sinon pour la faute d’orthographe, c’est celle qui est dans le code que j’avais remarqué ... ;o)
Bonsoir,
Je crois que je me suis mal expliquée. Je parle d’un article normal, dans lequel on insère des images dans le texte, un article qui n’est pas censé avoir de carrousel puisqu’aucune de ces images n’est placée dans le porte-folio et je n’appelle pas de carrousel d’un autre article ici.
En fait, je m’attendais à un comportement comme avec la Mediabox (qui fait que seules les images placées dans le porte-folio seront en galerie, via le modèle “documents”, et que si une image est déjà placée dans le texte, elle n’apparaît pas dans la galerie…)
Or j’ai remplacé l’appel de ce modèle par celui de article_owl.html pour avoir les images en miniature sous forme de carrousel (5 images par 5 images) lorsqu’elles sont placées dans le porte-folio, et les agrandir via la Mediabox lorsqu’on clique sur une miniature.
Mais je réalise qu’en fait il prend toutes les images ! Et donc mon problème à présent est que si j’insère une image dans le texte d’un article, via le raccourci
<imgxx>
, elle est insérée dans le texte, mais également placée dans un carrousel tout en bas, ce qui me pose évidemment problème. Je ne sais pas comment faire pour empêcher ça… En fait, si je pouvais le forcer à ne prendre que celles qui sont placées dans le porte-folio, je crois que ça résoudrait mon histoire, sauf que je ne sais pas faire ça :-(Je précise, aussi pour ceux que ça intéresserait, que pour obtenir le carrousel comme appel des miniatures, j’ai modifié le modèle article_owl.html de la façon suivante :
Ah oui mais si c’est dans un squelette ça change tout, parce qu’on connaît pas à l’avance les numéros des docs... donc là il faut retoucher le modèle ou alors en faire un autre pour qu’il exclue les images insérées dans le texte... c’est peut-être le critère
{doublons}
qu’il faut regarder de près : https://www.spip.net/fr_article4139.htmlC’est bien à ce critère que j’ai pensé, j’ai essayé de le placer un peu partout dans la boucle du modèle que j’ai posté précédemment (qui est le même que l’original, à la seule différence que j’appelle 5 images au lieu d’1 seule, et que j’ai supprimé les légendes sur les miniatures).
Mais je n’ai pas réussi…
J’ai essayé comme suit, et aussi à d’autres endroits de cette boucle, sans succès.
Je pense que dans un modèle le critère doublons ne passe pas, il ne prend pas l’environnement, il faudrait coller le code directement dans la page, à la place d’inclure le modèle avec #MODELES ...
Ah mince ! Ça veut dire coller l’intégralité du modèle dans article.html, javascript compris ?
Bon, si c’est la seule solution et que ça fonctionne… je vais essayer :-)
Ça fonctionne :-) !! Merci, mille merci Chankalan, je suis vraiment super contente !!!
Vraiment, merci à vous tous, c’est tellement génial de ne pas être toute seule avec ça, et de tout votre travail et disponibilité !
Bon, je vais tout de même externaliser le js pour faire plus propre… mais ça, je devais y arriver toute seule !
Reply to this message
Et me revoilà pour une dernière question, que je poste à part car le sujet est autre : l’ordre des images n’est pas pris en compte par le carousel (SPIP 3.2.3 donc on peut ordonner sans Mosaïque maintenant…)
J’ai bien regardé tout le tuto avant de poster cette question (enfin je crois) et n’ai rien lu à ce sujet… Quelqu’un aurait une piste, ou est confronté au même souci ? J’ai le même problème sur 2 sites en développement avec ce plugin, et je ne l’utilisais pas du temps de Mosaïque.
Et comme à chaque fois, j’aime bien dire un grand merci à la communauté SPIP et aux contributeurs pour ces plugins géniaux !
Bonjour Karen
C’est corrigé dans la prochaine version , il ’y avait pas de critère d’ordre
{par …}
dans la boucle document.https://zone.spip.net/trac/spip-zone/changeset/114891/spip-zone
On peut donc maintenant passer un critère tri au modèle en ajoutant
|tri=titre
par exemple.Par défaut j’ai opté pour rang_lien car c’est ce que j’utilise le plus souvent , a voir …
Bonne journée
Merci Mist. GraphX !
Pour la faute d’orthographe, mon dictionnaire français me dit “carrousel” mais en anglais “carousel” = ok, va pour l’anglicisme ;o)
Merci beaucoup à vous deux, ça fonctionne nickel, c’est juste génial :-) !
Ah, et oui, la faute… mais comme toutes les fonctions js des “carousels” le sont en anglais… et que le plugin se nomme ainsi, alors oui, ici j’ai adopté l’anglicisme, même si… ;p
Belle journée, et encore un grand merci.
Reply to this message
Bonsoir,
Je rencontre un petit blocage et je ne sais pas s’il est soluble… J’étais déjà venue il y a quelques temps ici pour tenter d’adapter la médiabox avec ce carousel car je l’utilise pour afficher les miniatures sur une seule ligne, 5 images par 5 images. Mist GraphX m’avait bien aidé pour ça.
Mon souci aujourd’hui est que j’aimerais pouvoir appeler plusieurs galeries contenues dans plusieurs articles, dans certains articles, de la façon suivante :
Or seul le premier appel est pris en compte…
Je précise si besoin que j’appelle la mediabox pour toutes les images contenues dans le portfolio d’un article, pour chaque article qui contient réellement les images. Ensuite, dans d’autres articles, je comptais regrouper plusieurs galeries par l’appel comme indiqué ci-dessus.
Y a-t-il une solution pour que tous soient pris en compte ? J’avais beaucoup d’espoir de structurer un site de la sorte, et là je ne m’attendais pas à ça… Je ne sais pas comment faire ça, ni même seulement si c’est possible !
Cordialement,
Karen
Bonsoir,
il y a un critère qu’on peut ajouter pour identifier chaque carrousel différemment, de cette manière :
voir plus haut ↑
C’est vrai qu’il y a une faute d’orthographe qu’on pourrait corriger...
Merci pour cette réponse rapide !
Oups, j’étais passée à côté de cette syntaxe…
Alors ça fonctionne, sauf qu’il se passe une chose étrange : j’appelle 4 carousels, sur 6 qui sont contenus dans 6 articles différents. Mais il m’en affiche un cinquième, complètement sorti de nulle part !
Ce cinquième affiche des miniatures légèrement plus grandes que les autres, et contient 5 images du premier carousel, et une image du second carousel ??? Je n’y comprends rien, comment est-ce possible ?
PS : je n’ai pas compris pour la faute d’orthographe ?
J’ai trouvé !
Alors j’aurai pu commencer par là ;p… Je viens de regarder le code, et les 4 premiers carousels sont contenus dans la div texte, puisqu’ils sont appelés dans le champs texte de l’article, et le carousel en prime est lui, inséré dans une div “demo” (comme les articles d’origine lorsque le carousel est affiché automatiquement parce qu’elles sont dans le portfolio).
Et en fait c’est incompréhensible : ces 6 images étaient déposées dans le portfolio de l’article en question où j’appelle les 4 carousels… sauf que je ne les y ai jamais mises !! Mais bon, il est tard et c’est résolu :-)
Merci beaucoup Chankalan ! (Et je ne pige pas cette histoire de faute, argh, je cherche et ça n’est pas l’heure !)
Reply to this message
Bonjour,
j’ai essayé de bidouiller un carrousel en page sommaire (adapté de Owl Rubrique Article), avec une image (il s’agit d’articles de galeries de photos) désignée comme “couverture” par un mot de passe technique (je n’ai pas trouvé comment utiliser un logo en — grand — format original d’image), et le titre de l’article, avec lien pointant sur ledit article. Mon problème : le lien ne fonctionne pas (aucune activation au survol, comme si la balise “a” n’existait pas), ce que je trouve relativement ennuyeux.
J’ai désactivé le css au cas où et le problème persiste, je reste donc à me demander si c’est un problème dans mes paramétrages du carrousel, ou un problème de syntaxe des boucles ?
Votre aide me serait d’un grand secours, et désolée si jamais le code vous tire des larmes, je débute ^^
Bonjour,
Je viens de tester, en tous cas la boucle et le js fonctionne sur le squelette livré avec spip (dist) et avec insertion des css.
J’ai bien un lien sur la rubrique et un autre sur chacun des articles.
Passez vous bien l’identifiant de la rubrique en paramètre de l’inclusion ainsi :
Pour ce qui est de l’affichage du document plutot que de faire une boucle dans la balise style, je vous conseille plutot d’utiliser les balise
#SET
et#GET
comme dans l’exemple ci-dessous. Plus d’info sur SET et GET iciVous pouvez rajouter des filtres a la suite de #FICHIER comme
image_recadre
,image_reduire
Voila © chez moi ce modèle marche ^^, j’ai juste supprimé le paramètre mot_clef de la boucle pour le test.
Après tout dépend de ce que vous souhaitez faire, mais généralement dans le cas de squelette ou dans une page sommaire j’utilise plutôt selection éditoriales pour gérer les contenus, que les mots-clefs.
Merci pour cette réponse et sa rapidité !!
J’ai essayé le code que vous m’avez transmis, mais apparemment aucun changement, j’y perds le peu de repères. Merci en tous cas pour les améliorations. Je vais me pencher dessus, histoire de retrouver en couverture l’image en particulier que j’avais désignée pour cet usage dans chaque article.
J’avais essayé avec les sélections éditoriales (owl), mais étais passée à côté du plugin dédié, sur lequel je suis tombée aujourd’hui en faisant mes recherches :p, et pensais que je n’avais pas le niveau pour cette option (évidemment avec le plugin c’est plus parlant !).
En désespoir de cause, peut-être est-ce alors mon css ? Comme je souhaite que mon h2 soit fixe au-dessus d’un fond gris, mais que le titre (et le lien ! grrr) de l’article passe aussi en carrousel sur ce même fond gris, j’ai tenté de jouer avec les z-index, peut-être fort maladroitement. Bon après, je crains qu’on sorte du sujet du carrousel...
Bon, au cas où...
Bonjour ,
Effectivement c’est bien un problème de css, en fait votre bloc owl_nav
passe au dessus de votre lien, et comme vous lui donnez la hauteur de la page (100vh) il viens couvrir le bloc de contenu.
Aussi quand vous positionnez en absolue, vérifiez bien que le conteneur est en relatif, plus on a de calques imbriqués. plus il est complexe de gérer les niveaux et les flottants.
J’extrapole en lisant les css que vous souhaitez réaliser un carousel en fullscreen, car vous utilisez l’unitée vH ou wW qui est relative a la taille de l’écran (si ce n’est pas le cas et que le carousel est imbriqué dans un bloc ça n’est pas le bon choix, utilisez les % ou rem).
Un exemple ici de carousel fullscreen avec owl que j’avais noté de coté pour l’intégrer en exemple de squelette, mais pas eut encore le temps.
https://codepen.io/ingvi/pen/gaOzYe
Grand merci pour ces éclaircissements !
Oui, vous avez bien extrapolé, je souhaite faire un carrousel fullscreen, avec en fond l’image de couverture de l’article, un cadre semi-transparent avec dessus le titre “mon monde” fixe, et le titre avec lien de l’article qui bouge en même temps que l’image... J’aime bien les choses simples et faciles ^_^
Je vais me re-pencher sur la copie.
Merci encore et bonne journée.
J’apporte mon grain de sel ... peut être après la bataille ...
N’oublions pas qu’il y a une façon assez simple d’utiliser le modèle article|owl dans une squelette, c’est de publier un article (avec date=0000 pour ne pas le voir dans le fil) dans lequel on appelle le modèle avec tous les paramètres qu’on veut. Et puis dans le squelette, où on veut (ex. sommaire.html), insérer une boucle ARTICLES (avec
{id_article=le id de l'article ci-dessus}
et dans la boucle juste la balise[(#TEXTE)]
avec les crochets et parenthèses pour que spip recalcule l’appel au modèle.ENORME avantage, on peut changer les paramètres dans l’article sans modifier le code html du squelette :-))
Enjoy !
Bonjour,
Après quelques nouveaux essais ça fonctionne comme je voulais ! =)
je vous transmets donc le css, certainement à élaguer et nettoyer (je laisse ça aux plus aguerris que moi). La solution que j’ai trouvée consiste en effet à passer le z-index de owl-carousel à 1000, et la hauteur de owl-nav à 0 pour éviter que cette div ne passe sur le lien.
J’ai donc un carrousel en pleine page avec une image de l’article en fullwidth, un cadre dans lequel le titre de l’article suit le carrousel, et un titre fixe nommant la catégorie.
En revanche, le responsive relève encore du bidouillage fin avec les positionnements absolute...
Merci pour votre aide précieuse et à bientôt !
Reply to this message
Ajouter un commentaire
Follow the comments:
|
