[PLUGIN non-officiel] Lightbox

StéphaneStéphane Member, Former PluXml Project Manager
LIGHTBOX est un plugin permettant de visualiser le zoom d'une image dans la fenêtre courante.

Ce plugin est très facile à mettre en place. Il ne modifie pas le core de pluxml, ni le fichier template de votre thème.

La procédure d'installation est expliquée dans le fichier readme.htm inclus dans le zip à télécharger.

N'hésitez pas à me faire part de vos remarques et/ou suggestions.

Stephane.

14/09/2007 - VERSION 1.0

fichier zip

Consultant PluXml

Ancien responsable et développeur de PluXml (2010 à 2018)

Réponses

  • Ma suggestion serait de jeter un œil à la recherche ;) .
    http://forum.pluxml.org/viewtopic.php?id=593

    À moins que tu l'aie vu et que tu postes cela pour ne pas avoir à installer beaucoup de trucs. Mais Lightbox s'installe avec quelques lignes dans le template, donc je vois pas l'intérêt d'en avoir fait un greffon.
  • Je trouve la version de stef la meilleuree à ce jour!
  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut Diti

    Plusieurs réponses pour répondre à ta remarque.

    * Le lien que tu donnes pour installer Lightbox est un plugin qui modifie le core de pluxml (top.php). Pour parler plus technique, il va lire le fichier, écrit dedans le code nécessaire pour faire tourner Lightbox et sauvegarde le fichier. Ma vision d'un plugin ne correspond pas à ces critères. Pour moi un plugin doit être totalement transparent et ne doit pas modifier ou rajouter du code dans le core ou dans le fichier template. J'avais testé un plugin donné sur ce forum (je ne me rappelle plus lequel) et il avait complètement "salopé" le code de mon template. D'un autre coté je n'aime pas trop qu'on vienne modifié un template, car si je veux y apporter ultérieurement des changements, modifier la présentation, je vais devoir travailler avec du code installé par un plugin: pas très propre comme méthode de travail. Imagine si j'installe 3 ou 4 plugins qui modifie mon template, je me retrouve avec un fichier qui ne m'appartient plus. Si c'est un fichier du core qui est modifié par un plugin, comment assuré la compatibilité avec les futurs versions de pluxml.
    * Si tu jettes un coup d'œil à mon code, tu verras que j'ai développé un "moteur" de plugin, qui ne modifie ni le core de pluxml, ni le template. Il permet ainsi d'interagir sur le chapo ou le contenu d'un billet et d'inclure des fichiers javascripts dans la partie <head> du template sans à avoir à le modifier. J'ai présenté plusieurs plugins sur le forum qui sont tous basés sur ce même moteur. Développer un plugin devient très simple et surtout à mon sens plus propre. D'ailleurs je serais ravi que des développeurs prennent le temps de critiquer (en bien ou en mal) ce moteur certainement perfectible.
    * une autre raison, plus fonctionnelle, ma version apporte plusieurs options d'utilisation du plugin qu'on ne trouve pas dans la version dont tu fais référence (voir le fichier readme.html présent dans le fichier .zip)
    * Dans un esprit communautaire, plutôt que de garder mon plugin pour moi, je préfère le présenter sur le forum. Libre à chacun de l'utiliser ou non, de faire des remarques, de demander des améliorations, de le modifier, etc... Si le temps que j'ai passé à développer les plugins présentés sur le forum servent à quelqu'un, c'est tant mieux: pas pour moi, mais pour eux.

    Voilà pour ma petite prose du soir :)

    Stephane.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Bonjour,
    Ce moteur paraît extrêmement prometteur. Mais j'ai quelques remarques:
    Pourrais tu le commenter un peu plus ? (Partie moteur et plugin)
    Est-il possible de faire une intégration d'un plugin du genre Contact Mail ? (Insertion de code PHP dans le template) ?
    Salut!
  • Bien joué Stef, en effet ya longtemps Gcyrillus avait fait une intégration de Lightbox dans Pluxml, mais ca ne marchait pas sur la version un peu modifiée que j'utilisais, donc j'ai opté pour la ptite option à inclure tt simple dans chaqune de mes balises a href : rel="lightbox", avec l'appel de javascript ds le template, et ca marche tres bien, sans etre un plugin ....
    Je v regarder ta solution de plus pres !

    Merci pour ta contrib encore :)
  • Hello !
    Merci pour ce petit plugin.
    Mais j'ai un petit souci avec le code à rajouter dans index.php...
    Ca merdouille avec la fonction anti-spam.. Elle me met une erreur dès que je mets tes lignes de code à la place de la ligne.
    Une idée, une solution ?

    TCho, Hamtaro.
  • gcyrillusgcyrillus Member
    septembre 2007 modifié
    stef a écrit:
    J'avais testé un plugin donné sur ce forum (je ne me rappelle plus lequel) et il avait complètement "salopé" le code de mon template.
    hum , pas terrible comme "vocabulaire et façon de pensée :).

    Ton plugin fait la même chose , mais a chaque rechargement de la page au lieu de le faire une fois pour toute .

    a choisir :
    un "gestionnaire de plugin qui installe desinstalle le lien js en dure ou a a chaque chargement de page , les methodes se discute , sans plus.
    (il suffit quand même de voir quels options ont été prises dans d'autres cms qui n'ont plus rien a prouvé).

    Je suis pour , personnellement une install automatisé reversible , greffon par greffon . Rien ne t'empeche de codé ton template proprement , puis de lancé une install ou reinstall des plugins pour le mettre a jour ou d'ajouter ton lien a mano au codage.

    Je pense a "plugin facilities , que j'ai mi en ligne (justement avec lightbox en demo )pour appuyer des propos qui etait les miens . Propos qui affirmais qu'il etait possible d'automatisé une install , malgré le nombre de greffe a faire pour certains plugins. Je suis cuisinier et pas programmeur , sans etre particulierement fier d'une bidouille parmis d'autre , j'esperais voir des gens plus averti revenir sur le principe ou proposé une alternative plus professionnelle.

    Je rappelle aussi que mon idée est d'avoir en final un gestionnaire de plugin qui d'un coté qui embarque toutes les fonctions de greffes et l'interface , d'un autre des scripts (js , template , php , etc ...) qui fonctionnent correctement en stand alone ou qui ont besoin des class de pluxml, et entre les 2 un fichier xml qui sert de fichier d'install et desinstall.

    Ton fichier application.php est tres bien , mais je lui reproche justement de fonctionné en arriere plan sans aucune maitrise coté utilisateur , donc a mon avis , il faut que tu aille un peu plus loin en accordant plus de flexibilité et de maitrise a l'utilisateur.



    On ne code pas un template tout les jours non plus :) , sauf coté production , alors la oui , on se facilite la vie en comptant sur le serveur pour prendre en charge la "simplicité" d'une productivité accrue.

    ... humm ? ...

    Bon , c'est surtout ton vocabulaire qui me fait reagir , pour le reste bah moi j'attends la prochaine version de pluxml pour m'y remettre et continuer a apprendre les subtilité de la programmation , je n'ai pas plus de pretentions que cela ceci dit ton approche est interessante.

    GC

    <edit> En effet le plugin facilities est dedié a une version officiel de pluxml en version blog a partir de la flop 14 si mes souvenirs sont bons , l'install même du gestionnaire n'est pas adapté a une version multisuser de marama , car pour y avoir accés , il faut avoir un pluxml deja installé et logé dans l'admin , la gestion de la verification du log se fait differement selon officiel ou marama multi-user , un topic de ce forum montre les modifications a apporté pour la compatibilité marama/multiuser.

    Un minimum de conditions etait requises pour son test:
    un pluxml officiel (mini flop14) installé et un log dans l'admin.

    resultat de l'install de lightbox:

    entre 2 commentaire html dans le template , les fichiers a inclure , js et css lightbox

    dans le fichiers image.php
    un lien supplementaire pour insere le lien lightbox

    Le fichier function.js

    le script js supplementaire a l'insertion du lien lightbox avec le "prompt" par 2 reprise pour donné : legende de l'image , et son appartenace a un diaporama si tel est votre desir :)

    un bug ou un nouveau template ?:
    desinstall et reinstall a partir du gestionnaire pour nettoyé et replacé sur l'ensemble des fichiers , en ligne !

    Il ne s'agit que d'une demonstration , d'un clin d'oeil et pas fini , il est clair que pour lightbox tout ceci est plutot encombrant :)


    p.s.

    N'attendez pas plus de reaction de ma part , des ennuis de santé plutot inquietant , m'obligent a prendre de la distance avec bon nombre de mes activités , je vais voir a terminé mes en cours mais ne rien entreprendre d'autre avant quelques temps. Autrement dit je ne promet plus rien de plus pour le moment.
    </>
  • StéphaneStéphane Member, Former PluXml Project Manager
    gcyrillus a écrit:
    stef a écrit:
    J'avais testé un plugin donné sur ce forum (je ne me rappelle plus lequel) et il avait complètement "salopé" le code de mon template.
    hum , pas terrible comme "vocabulaire et façon de pensée :).
    :) Je t'avoue que je me suis demandé au moment d'écrire cette phrase, si c'était pas trop fort. Mais malheureusement c'est vraiment ce qui s'est passé et ce que j'ai ressenti. Des retours chariots mal placés, des tabulations virées, etc... au point que j'ai du reformater tout le template.
    gcyrillus a écrit:
    Ton plugin fait la même chose , mais a chaque rechargement de la page au lieu de le faire une fois pour toute .
    Il va même un peu plus loin, c'est à dire que tous les javascripts de lightbox ne sont chargés que si l'affichage en a besoin. Si aucun billet ne fait à appel à lightbox, aucun javascript lightbox n'est chargé.
    Je suis pour , personnellement une install automatisé réversible , greffon par greffon . Rien ne t'empêche de codé ton template proprement , puis de lancé une install ou reinstall des plugins pour le mettre a jour ou d'ajouter ton lien a mano au codage.
    D'accord avec toi. Une install/désinstall de plugin avec une url par exemple via un formulaire de téléchargement, avec la possibilité d'activer/désactiver le plugin, c'est le must.
    Ton fichier application.php est tres bien , mais je lui reproche justement de fonctionné en arriere plan sans aucune maitrise coté utilisateur
    Je ne vois pa ce que tu veux dire. Peux-tu préciser ?
    donc a mon avis , il faut que tu aille un peu plus loin en accordant plus de flexibilité et de maitrise a l'utilisateur.
    Pareil, peux-tu détailler ?

    Techniquement, l'idée du moteur de plugin est de pouvoir intervenir entre le moment ou les billets et diverses infos sont chargés en mémoire dans une/des variable(s) et le moment de la restitution de l'affichage. L'idée n'a rien d'originale elle est complètement inspirée de wordpress avec l'utilisation des filtres. ça permet de remplacer des chaînes de caractères dans le contenu/chapo des billets. Cela peut être étendu à n'importe quel contenu.

    On ne code pas un template tout les jours non plus :) , sauf coté production , alors la oui , on se facilite la vie en comptant sur le serveur pour prendre en charge la "simplicité" d'une productivité accrue.
    Tu as raison. J'ai plus raisonné en tant que programmeur qu'utilisateur.
    Bon , c'est surtout ton vocabulaire qui me fait reagir
    Aucun souci. J'apprécie que tu ais pris le temps de commenter. J'espere juste que je ne t'ai pas froisser avec certaine tournure de mes phrases. ce n'était pas le but.
    pour le reste bah moi j'attends la prochaine version de pluxml pour m'y remettre et continuer a apprendre les subtilité de la programmation , je n'ai pas plus de pretentions que cela ceci dit ton approche est interessante.
    Pareil, je suis assez impatient de voir ce que la nouvelle version nous réserve :) Pour avoir pas mal programmer pour d'autres cms/blog j'aime beaucoup le coté léger de pluxml, mais surtout et là j'insiste, le cote propre de la programmation fait par l'auteur. (mon profil de programmeur qui ressort encore une fois :) ) C'est pour ça que je prend plaisir à programmer pour pluxml.

    Stephane.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • bonjour,

    je ne suis pas froisé :) , plutot content de voir un sujet interessant en fait .

    pour :
    plus de flexibilité et de maitrise coté utilisateur :

    Je pensais a:
    1) une interface permettant d'agir sur les differents plugins embarqués , activation/desactivations avec une petite aide (aide mémoire ) pour en faire usage et ainsi rappelé a l'utilisateur les differentes possibilité d'insertions de contenu dont il dispose , du moins si elle sont presente dans ce pluxml et pas dans un autre.

    2) une insertion semi automatiques des regle de formatage qui restent compatible html si le plugin est desactivé .
    par exemple: <imagerotator1 src="directory/subdirectory" /> risque de n'avoir aucun interet en l'absence du plugin , suite a une migration vers un autre serveur / cms des articles ou simple mise a jour de pluxml.
    Adopter le plugin une fois , correspondrait a le garder toujours ? :) .

    3) flexibilité , pouvoir intervenir sur d'autre aspects et dans le programme lui même , comme reconnaitre la variable mode , par exemple pour injecter un autre template exterieur a celui d'origine de pluxml , transformer une chaine de caracteres(titre) en balises images pour coller a un theme et pas forcement a un autre.

    4) etc ...

    Hein ? :) oui je chipote la !

    cordialement .

    GC
  • StéphaneStéphane Member, Former PluXml Project Manager
    septembre 2007 modifié
    Salut GC

    Pour répondre à tes remarques

    1/ Je pense qu'on est d'accord :) Il faut une interface dans l'admin pour gérer les plugins

    2/ Dès que l'on invente des nouvelles balises pour faire fonctionner le plugin, on devient en effet complètement dépendant. Et malheureusement je vois mal comment palier au problème.

    nb: juste pour infos je suis en train de changer dans mes plugins toutes les balises <xxxxx> par [wwww] pour les rendre compatible avec les éditeurs wysiwyg. En effet une balise <toto> dans un éditeur n'est pas visible.

    3/ Je reviens sur mon application.php. Certes pour le moment il est limité à ce que j'avais besoin pour mes plugins, mais avec très peu de modifs, il peut être étendu à d'autres fonctionnalités

    Exemples:
    - de la même façon qu'appliquer des filtres suir le chapo et le contenu d'un billet, on peut en rajouter sur le titre, à voir peut etre sur les commentaires, les titres de catégories, etc... Ainsi comme tu le suggères afficher un titre sous forme de balise image, y a vraiment pas grand chose à faire.

    - Appliquer un template différent pour chaque catégorie. Si les catégories sont numérotés 001, 002, etc... Il suffit de tester s'il existe un fichier template_001.php dans le répertoire du theme courant et de le charger à la place de template.php. S'il n'existe pas, on charge template.php par défaut. Donc un template, un css, une mise en page différente par catégorie.
    Très simple à faire.

    - Gérer la variable mode.
    A ce propos j'ai terminé un plugin qui permet de couper le contenu d'un billet et de l'afficher sur plusieurs page. Encore une fois j'ai créer une nouvelle balise [pagesuivante] à insérer 1 ou plusieurs fois dans le contenu du billet, pour faire autant de page que l'on souhaite. De cette façon à la lecture du billet s'ajoute une pagination (Page: 1 2 3) et sur la page d'accueil ne s'affiche que la page 1 avec un lien "Lire la suite...". Ce plugin utilise la variable mode, et c'est completement transparent dans le template.

    Steph.

    EDIT: En fait la gestion du titre, au meme titre que du chapo et du contenu du billet existe déjà avec mon application.php

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • superbe ! :)
  • Bonjour,

    Ma nullardise niveau code me joue sans doute des tours, ou j'ai du louper une étape étant donné l'heure tardive. Bref, à place du joli effet lightbox, j'ai que [lightbox src"blabla.jpg"] :(

    Une idée du pourquoi du comment ? Le non-résultat est visible sur le blog de test ici : http://jackspot.lambda-experience.com/photographie/?1-golden-gate-bridge
  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut zouav

    Je te conseille de relire la procédure d'installation.
    As-tu fais les modifs dans le fichier index.php car je ne vois pas dans le code de cette page la partie qui charge les fichiers javascripts pour faire fonctionner le plugin.

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • Merci pour la réponse rapide, effectivement je l'avais passé dans l'index à la racine, et pas dans la racine de /photographie (il y a 2 pluxml l'un dans l'autre).

    Les miniatures s'affichent bien maintenant, mais l'ouverture se fait dans une fenêtre externe, et j'ai une fatale error à la fin de ma page :
    Fatal error: Call to a member function q() on a non-object in /home/.kerby/zouav/jackspot.lambda-experience.com/photographie/core/templates/modif/template.php on line 101
    
  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut zouav
    Peux-tu me donner le lien avec lequel tu as récupérer le plugin que je contrôle s'il n'y a pas un bug dans la version, car dans le code de ta page il manque toujours l'appel des fichiers javascript de lightbox.
    Merci

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

  • J'ai téléchargé le plugin à partir du lien du premier post.

    Est-ce que ca peut avoir un rapport ac le fait que j'ai eu ce message d'erreur lors de l'install de pluxml :

    Warning: file(version) [function.file]: failed to open stream: No such file or directory in /home/www/jackspot/www/cv/install.php on line 14

    Pourtant, je constate aucun dysfonctionnement en dehors de cette question de l'installation du plugin lightbox.
  • StéphaneStéphane Member, Former PluXml Project Manager
    Salut zouav

    J'ai contrôlé le plugin en le réinstallant sur une version propre de pluxml.
    Je n'ai aucun souci d'affichage. Tout fonctionne bien.
    Es-tu certain de ne pas avoir loupé une étape dans l'installation du plugin ?

    Consultant PluXml

    Ancien responsable et développeur de PluXml (2010 à 2018)

Connectez-vous ou Inscrivez-vous pour répondre.