[PLUGIN] plxCaroufredsel : un diaporama où vous voulez

Jerry WhamJerry Wham Member
janvier 2014 modifié dans Plugins
Bonjour,

Je viens d'écrire un plugin permettant d'afficher un diaporama dans le corps d'un article, des articles de la page d'accueil ou d'une page statique.

L'utilisation d'un dossier par utilisateur est prévue si l'option est activée dans pluxml.

Les options sont modifiables de même que le css intégré.

L'archive est disponible ici

Il faut installer également le plugin zoombox pour avoir un effet d'agrandissement des images.

Si vous souhaitez voir le rendu, vous pouvez visiter ce site.

Une aide en ligne décrit comment l'utiliser.

Enjoy.

/*****************************
Change log
/*****************************

04/12/2011 : version 1.0
04/12/2011 : version 1.1
- correction des méthodes plxMotorParseArticle et caroufredselFooter
07/12/2011 : version 1.2
- correction bug sur safari et chrome
- correction css
- ajout de l'affichage ou non des boutons prev/next
- ajout de l'option gallery si zoombox est utilisé
14/02/2012 : version 1.3
- correction de l'affichage sur les pages "categorie"
- tri et affichage des images par ordre alphabétique
- ajout d'un hook en pied de page pour l'affichage des paramètres de chaque diaporama
«1

Réponses

  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour

    attention a bien vérifier l'initialisation des variables
    Notice: Undefined index: cfsel in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 2
    
    Notice: Undefined index: width in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 3
    
    Notice: Undefined index: height in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 4
    
    Notice: Undefined index: direction in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 5
    
    Notice: Undefined index: infinite in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 6
    
    Notice: Undefined index: auto in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 7
    
    Notice: Undefined index: cfauthor in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 8
    
    Notice: Undefined index: cfartId in C:\EasyPHP-5.3.8.1\www\pluxml\core\lib\class.plx.motor.php(643) : eval()'d code on line 9
    
    une coquille dans le fichier d'aide:
    à la fin des lignes de code à ajouter il faut mettre ; ?> il manque le ?

    petit conseil pour les développeurs, dans le fichier config.php, mettez en commentaire la ligne suivante
    //error_reporting(E_ALL ^ E_NOTICE);
    cela permettra de voir les warnings et/ou notice qui sont masqués

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • StéphaneStéphane Member, Former PluXml Project Manager
    dans la fonciton plxMotorParseArticle de ton plugin

    remplace les lignes du genre
    \$art['cfsel'] = plxUtils::getValue(\$values[\$iTags['cfsel'][0]]['value']);
    
    par
    $cfsel =  plxUtils::getValue(\$iTags['cfsel'][0]);
    \$art['cfsel'] = plxUtils::getValue(\$values[$cfsel]['value']);
    

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • superbe l'effet !!!
    pour ceux qui veulent voir :
    http://www.ecyseo.com/article5/utiliser-tcpdf-avec-yii
    (cliquez sur la vignette ...)
    et si il pouvait également gérer des galeries, alors là ce serait "top" !
    ;)
  • Jerry WhamJerry Wham Member
    décembre 2011 modifié
    @bg62 : Tu te trompes. Ce n'est pas un diaporama mais l'effet zoombox. Je n'ai pas encore mis d'exemple en ligne (pas eu le temps).

    @Stéphane: Merci pour les corrections. Je modifie ça tout de suite. (edit) j'ai rien dit. (/edit).
    En ce qui concerne les erreurs php, je les suis avec le fichier log du serveur.
  • Jerry Wham a écrit:
    @bg62 : Tu te trompes. Ce n'est pas un diaporama mais l'effet zoombox. Je n'ai pas encore mis d'exemple en ligne (pas eu le temps).
    ben donc : c'est bien l'effet zoombox et le 'diaporama' (voire même une galerie) vont certainement donner de 'super plugins' également ;)
  • Voici les corrections : archive ici.

    Modification de la fonction plxMotorParseArticle et de la fonction caroufredselFooter.

    @Stéphane :
    J'ai suivi ce que tu m'as conseillé mais j'ai modifié quelque peu car il y avait une erreur de syntaxe. J'ai mis
    \$cfsel =  plxUtils::getValue(\$iTags['cfsel'][0]);
    \$art['cfsel'] = plxUtils::getValue(\$values[\$cfsel]['value']);
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    effectivement il faut \$cfsel au lieu de $cfsel

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Jerry WhamJerry Wham Member
    décembre 2011 modifié
    @bg62 : Je viens de mettre un site en ligne qui utilise le diaporama. Tu peux te balader pour voir ce que ça donne...

    Enjoy. :)
  • Jerry Wham a écrit:
    @bg62 : Je viens de mettre qui utilise le diaporama. Tu peux te balader pour voir ce que ça donne...

    Enjoy. :)
    pas mal du tout ... seule chose si je clique sur une image je ne peux pas aller sur les autres à partir de celle-ci ;)
    sinon sacré rendu ...
  • Jerry WhamJerry Wham Member
    décembre 2011 modifié
    Je viens de corriger le plugin car il faisait bugguer le site sur les navigateurs utilisant webkit (chrome et safari). J'ai également modifié un peu le css car je m'étais trompé dans le chemin vers le images des boutons.
    Enfin, j'ai ajouté la possibilité d'afficher ou de ne pas afficher les boutons prev et next.

    Vous pouvez télécharger l'archive sur mon site.

    Enjoy.
  • pas mal du tout ... seule chose si je clique sur une image je ne peux pas aller sur les autres à partir de celle-ci ;)
    sinon sacré rendu ...
    Merci. Je viens de le modifier. Si zoombox est installé, tu pourras te balader entre les images "ouvertes".
    Il faudra peut-être enlever l'option gallery de zoombox si les images sont trop petites.
  • RohirrimRohirrim Member
    janvier 2012 modifié
    bonjour, je viens d'installer le carrousel; dans le principe ça va (install du carrousel ou je veux, etc...) mais l'effet "zoombox" ne fonctionne pas... quand je clique sur une image, elle s'affiche en lieu et place du site, sans le joli effet recherché...

    je suis en 5.1.5
    ah ! un mieux...
    (edit) effectivement si je ne mets pas zoombox dans le site, l'effet ne fonctionne pas - il faut le plugin + zoombox dans le dossier plugin de pluxml - ... maintenant que zoombox est implémenté, ça marche ! MAIS, les images "miniatures" sont en double dans la fenetre de l'effet (pour une galerie de 2 images, j'ai 4 miniatures...) (/edit)
  • As-tu installé le plugin jquery ?
  • Rohirrim a écrit:
    bonjour, je viens d'installer le carrousel; dans le principe ça va (install du carrousel ou je veux, etc...) mais l'effet "zoombox" ne fonctionne pas... quand je clique sur une image, elle s'affiche en lieu et place du site, sans le joli effet recherché...

    je suis en 5.1.5
    ah ! un mieux...
    (edit) effectivement si je ne mets pas zoombox dans le site, l'effet ne fonctionne pas - il faut le plugin + zoombox dans le dossier plugin de pluxml - ... maintenant que zoombox est implémenté, ça marche ! MAIS, les images "miniatures" sont en double dans la fenetre de l'effet (pour une galerie de 2 images, j'ai 4 miniatures...) (/edit)

    Il faut installer également le plugin zoombox. Les prérequis des plugins n'étant pas encore pris en compte, je ne l'ai pas indiqué. Mais il faudrait que je le fasse dès que j'aurai un peu de temps.
  • bonjour, je rebondis toujours, car j'ai toujours mon soucis; a l'interieur de la zoombox, j'ai la même vignette qui apparait deux fois.... et ça empiète grave sur l'image...

    sans doute faut-il modifier un paramètre dans les fichiers zoombox, mais lequel...

    merci d'avance

    un exemple là > http://www.ecuriedesgrandesplaines.fr/site/index.php?static2/infrastructures#
  • Jerry WhamJerry Wham Member
    février 2012 modifié
    Solution 1 :
    - Dans le plugin zoombox, mets le parametre gallery à false (il faut modifier directement le fichier zoombox.php dans le plugin, je n'ai pas eu le temps de faire un panneau de configuration. J'essaierai de m'y coller ce week-end). Cela évitera l'affichage des miniatures lors de l'agrandissement des images. Les images resteront liées les unes aux autres malgré tout. Cela n’empêchera donc pas de naviguer de l'une à l'autre.
    Solution 2 :
    - Télécharge la mise à jour de zoombox. La css a été modifiée pour que les miniatures s'affichent en dehors de la photo.

    L'affichage en double vient du fait qu'il n'y a que deux images dans le diaporama et que leur largeur ne permet pas de remplir la div qui contient le diaporama. Le plugin les double pour combler le "trou".

    Petite suggestion, utilise cette version mise à jour de plxCaroufredsel. Elle permet d'afficher les diaporamas dans les pages "categorie" et les images sont affichées par ordre alphabétique.

    N'oublie pas également d'appeler les hooks dans les pages. Modification par rapport aux autres versions : il faut appeler un hook dans le pied de page.
    <script type="text/javascript">
              /* <![CDATA[ */
              <?php eval($plxShow->callHook('caroufredselFooter'));?>
    /* !]]> */
    </script>
    
    Sinon, sympa ton site ;-)

    EDIT : j'ai oublié de dire de mettre l'appel de hook entre des balises javascript pour que ça fonctionne (voir code modifié ci-dessus)
  • ouahh ! super ; ça marche nickel ! nouvelle version de zoombox et de plxcaroufredsel et tout se remet d'aplomb (avec les explications de jerry wham qui vont bien...

    ps : le paramètre à modifier est dans le fichier zoombox.php, dans le dossier "zoombox" qui est dans votre dossier "plugin" de pluxml ; il ne faut pas toucher au plugin plxcaroufredsel.

    dans ce même fichier zoombox.php, on peut aussi choisir le look du zoombox, aux lignes 59 à 66 ...
  • Bonjour à tous,

    J'ai du loupé quelque chose à 'installation et l'utilisation du plugin;
    -J'utilise la version 1.3
    -j'ai installé JQuery
    -j'ai installé zoombox
    et mon problème est le suivant, toutes les photos s'affichent simultanément dans mon article?
    La je sèche et n'ai pas les compétences nécessaires pour régler le problème.

    Merci de votre aide. JM
  • Est-ce que tu as mis les appels de hook dans les fichiers de ton thème ?
    Lit l'aide du plugin plxcaroufredsel disponible dans la page des plugins.
  • J'ai bien mis les appels, les images s'affichent, le zoombox fonctionne.
    Je pense que cela vient du fait que mon site n'est pas à la racine, j'en déduit que c'est une erreur de chemin?
    Je chercherais demain.
  • Si les images s'affichent, ce n'est pas une erreur de chemin mais plus de javascript. Est-ce que tu peux nous mettre un lien vers la page incriminée pour que je puisse voir le code et essayer de t'aider?
    A mon avis, il doit manquer le hook du pied de page.
  • bonjour,

    j'ai tenté avec le hook en pied de page mais toujours aucun résultats, alors comme tu me le demande je te met le lien de la page en question.

    http://199.16.131.116/~dmifr/garage/index.php?article2/modele-annonce-de-vehicule-neuf-ou-occasion
  • Jerry WhamJerry Wham Member
    février 2012 modifié
    C'est ma faute, j'ai oublié de dire de mettre l'appel de hook entre des balises javascript du style :
    <script type="text/javascript">
              /* <![CDATA[ */
              <?php eval($plxShow->callHook('caroufredselFooter'));?>
    /* !]]> */
    </script>
    

    HS : vraiment bien ton site. Il ne reste plus qu'à mettre une favicon qui va bien :-)
    Attention aux droits sur l'image de localisation du garage. Je ne pense pas que le géant américain te permette de faire ça. Si tu veux juste une image statique, tourne toi plutôt vers les solutions libres comme OpenStreet map et consorts.
  • Bonsoir tout le monde,
    J'ai donc essayé ce plugin, mais problème rien ne s'affiche.
    Bon, n'étant pas un pro, j'ai dû oublier quelque chose.
    1°) installation et activation du module: ok
    2°) j'ai ajouté le code dans le footer, puisque version 1.3
    3°) et c'est là que ça cloche, dans l'aide, il est dit: "Pour afficher un diaporama dans un article, il faut ajouter, dans la page article.php du thème choisi, l'appel du hook suivant :

    <?php eval($plxShow->callHook('caroufredselArticle'));?>
    mais c'est où ? à l'emplacement où je désire placer le carrousel ?
    Si c'est ça, voilà ce qui s'affiche: callHook('caroufredselArticle'));?>
    Merci pour votre aide.
    Au plaisr de vous lire.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Bonjour
    Il faut que tu mettes la ligne dans le fichier article.php qui est dans le dossier de ton theme (dossier /themes puis sous dossier qui porte le nom du theme)

    Consultant PluXml

    Ancien responsable du projet (2010 à 2018)

  • Bonjour Stéphane,
    Merci pour ta réponse.
    J'ai refais, (comme tu me l'indiques), ce que j'ai déjà essayé hier, (j'ai tout tenté), mais rien ne s'affiche.
    J'ai repris la procédure en entier, réinstallation, activation, appel du hook dans le footer, appel du hook dans la page article, cochage de la case: Cet article contient-il un diaporama ?
    transfert des images dans le dossier donné.
    Et rien d'affiché.
    Mais ne manque t'il pas une ligne qui permet d'afficher le carrousel à un endroit voulu de l'article ?
    Amicalement
    Patrick
  • chrisschriss Member
    décembre 2012 modifié
    bonjour,
    J'ai installé, hier, plxCaroufredsel..... et j,ai eu le même problème que toi, pas d,affichage dans la page article.
    Mais en allant dans la page "Categorie", là le diaporama était visible, je suis donc retourné sur la page Article...et là aussi le diaporama était visible. Tout est Ok ensuite.
  • bonjour,
    PatrickB a écrit:

    Mais ne manque t'il pas une ligne qui permet d'afficher le carrousel à un endroit voulu de l'article ?
    Amicalement
    Patrick

    Voilà où j'ai copié mon hook:
    <div class="art-chapo">
          <?php $plxShow->artContent(); ?>
          <?php  eval($plxShow->callHook('caroufredselArticle'));?>
    </div>
    
  • Bonjour Chriss, bonjour à tous,
    Bon voilà, ça fonctionne... En fait c'est parce que j'étais en aperçu après avoir enregistré le brouillon.
    Ne voulant pas mettre en ligne afin de tester le plugin, cela ne fonctionnait pas.
    j'ai donc testé en local sur easyphp, et: oh surprise, ça marche.
    Merci pour votre aide.
    Joyeux Noël à vous tous.
    Patrick
  • PatrickB a écrit:
    Joyeux Noël à vous tous.
    merci et joyeux noël à tous !
Connectez-vous ou Inscrivez-vous pour répondre.