PostCardViewer pour SPIP

Ceci est une ARCHIVE, peut-être périmée. Vérifiez bien les compatibilités !

ATTENTION
Ce plugin ne sera plus maintenu car Christophe Boutin en a sorti une version beaucoup plus évoluée disponible ici.
Le fichier du plugin est quand même maintenu car il est simple et peut aider celles et ceux qui démarrent le développement d’un plugin.

A quoi ça sert le plugin ?

Ce plugin permet d’intégrer PostCardViewer dans un article SPIP.
Il s’agit d’une galerie en flash (un exemple ici).

Installation du plugin

L’installation se fait comme pour n’importe quel plugin (besoin d’un coup de pouce ? Voir ici...)
Attention :
-  plugin compatible avec la version 2 de SPIP
-  pour fonctionner, la balise #INSERT_HEAD doit figurer dans votre squelette (voir ici)

Pour s’en servir

  1. créez un article dans SPIP.
  2. ajouter les images à votre article, via le formulaire « Ajouter une image ou un document ».
  3. donnez un titre à vos images (ils seront récupérés automatiquement dans le Flash).
  4. dans le corps de l’article, saisissez <pcvXX|galerie> avec XX correspondant à l’identifiant de l’article.
  5. publiez votre article : la galerie apparaît dans la partie publique.

Comment ça marche ?

Le plugin récupère la liste des images attachées à l’article.
Il crée alors le fichier .xml reprenant toutes les images et les titres.
PostCardViewer affiche alors la galerie.

Personnalisation

Le fichier pcv_options contient quelques options (couleur, taille, etc.) sur lesquelles il est possible d’agir.
Il est aussi possible d’agir sur un fichier de style pcv_styles.css (dans css).

Remarques


-  Caractères accentués
Le viewer utilise une police qui ne sait pas afficher les accents.
Pensez donc à donner des titres à vos images sans accent, faute de quoi les caractères sont tronqués.
Pour remédier à cette contrainte, il faut acheter la version pro du viewer.
-  Format des images
Le viewer ne fonctionne qu’avec des images JPEG enregistrées au format non progressif.
-  Liens
Il est possible depuis la v0.2 de faire des liens à partir des vignettes. Pour cela, il faut compléter le champ descriptif de l’image avec l’url du site. Par exemple, pour pointer vers le site de SPIP, il faut indiquer http://www.spip.net.

Reste à faire


-  intégrer le plugin avec cfg
-  créer des fichiers de langue
-  adapter le plugin pour qu’il fonctionne avec les sites dont le préfixe des tables est différent de « spip_ »

Remerciement

Un grand merci à cy_altern et marcimat pour leur aide précieuse via IRC (http://www.spip.net/irc).

Historique


-  17/11/08 : publication de la v0.1
-  15/01/09 : publication de la v0.2 (ajout de la possibilité de faire des liens à partir des vignettes)

Le zip avec le plugin

Plugin Postcardviewer v0.2

Discussion

34 discussions

  • Bonjour voici le lien vers une version modifiée pour Spip1.9.2 du Plugin Multiviewer 1.0.3 disponible sur mon site et bientôt sur SpipContrib.

    Cette version permet d’utiliser le plugin avec 5 viewers différents :
    -  simpleviewer
    -  simpleviewerpro
    -  tiltviewer
    -  postcardviewer
    -  imagerotator

    Un squelette d’affichage plein écran est aussi fourni.

    Répondre à ce message

  • Merci pour la réponse, je jette un œil sur MultiViewer.

    Répondre à ce message

  • 1

    Bonjour, j’ai un petit problème pour afficher deux articles sur la même page.

    En fait deux albums postcardviewer avec ce super plugin.

    Le problème : deux fois le même id de div « flashcontent » , j’ai essayé de changer id en class mais plus rien ne fonctionne ensuite.

    C’est juste un problème de conformité avec le W3C, cela n’empêche pas l’affichage.

    Y a t-il une solution ?

    Merci

    • Essai un plugin dérivé de celui-ci : Multiviewer, il intègre le même viewer flash. Et ce pb y est géré.

    Répondre à ce message

  • 1

    bonjour,
    j’ai un problème d’affichage des images dans l’article, aucune image ne s’affiche ; seul le lien vers le site de PostCardViewer s’affiche. j’ai vérifier le .xml créé, les images y sont bien déclarées. j’utilise spip 2.0.7.
    y a-t-il des réglages à faire ?
    Merci d’avance

    • Bonjour
      A priori, pas de réglages spécifiques pour la version 2.0.7. Est-il possible d’avoir une URL pour étudier de plus près ce qui se passe ?

      Manu

    Répondre à ce message

  • pour être plus précise et après meilleure compréhension du système, j’ai modifié le fichier option.as, republié le fla, mis sur le serveur le fichier swf généré et renomé en pcv_viewer.swf mais j’ai toujours les accents... Désolée d’avoir été imprécise

    Répondre à ce message

  • Merci de ta réponse,
    oui, c’est ce que j’ai fait
    mais les accents n’apparaissent pas, et l’orientation des l’images reste la même.(même si je crée une nouvelle gallerie)
    C’est une autre question, dans la doc pro, il est dit de modifier un fichier.as or ce fichier as n’est pas dans l’architecture des dossiers du plugin... faut-il les y mettre ?

    Répondre à ce message

  • 1

    Bonjour,

    j’ai acheté la version pro de Postcardviewer car je devais absolument pouvoir intégrer des accents.
    J’avais cru naivement qu’il suffisait de remplacer le fichier viewer.swf mais cela ne suffit pas...
    Je galère un peu car l’architecture des fichiers est différente. Quelqu’un a-t-il déjà installé la version pro sous le plugin ?

    merci d’avance

    • Tu as mis le nouveau fichier .swf en lui donnant bien le nom pcv_viewer.swf ?

    Répondre à ce message

  • 1

    si je tiens compte de ces remarques :

    « Pour le faire fonctionner sous 1.9 il suffit de changer les nom de table dans le fichier pcv.php et enlever la variable ._NOM_PERMANENTS_ACCESSIBLES pour les urls. »

    pas de souci pour enlever la variable

    Et si j’ai bien compris il faudrait que je modifie ces lignes :

    // Requete (attention au prefixe des tables -> a revoir)
    $req = « SELECT titre, fichier, descriptif FROM spip_documents WHERE id_document IN ( SELECT id_document FROM spip_documents_liens WHERE id_objet = ».$id_galerie.« AND objet = ’article’ ) ORDER BY titre ; » ;
    $result = spip_query($req) ;

    La table spip_documents_liens n’existe pas dans la version 1.9.2

    Si quelqu’un a une idée sur comment modifié ces lignes ?

    • Pour poursuivre j’ai fait plusieurs tentatives, en vain. C’est la première fois que je me lance dans du code spip ! Peut-être y verrez vous pourquoi ça ne marche pas !

      Le fichier pcv est devenu ça

      <?php
      /**
      * Plugin PostCardViewer pour SPIP v.0.1
      * par Manu T'J (adresse supprimée)
      *
      * Copyright (c) 2008
      * Logiciel libre distribue sous licence GNU/GPL.
      *
      **/
      
      if (!defined("_ECRIRE_INC_VERSION")) return;
      
      function balise_PCV($p){    
          if (!$idg = interprete_argument_balise(1,$p)) {
              $idg = champ_sql('id_article', $p);
          }
          $p->code = "pvc_creation_xml($idg)";
          $p->interdire_scripts = false;
          return $p;
      }
      
      function pvc_creation_xml($id_galerie) {
          // -----------------------
          // DEBUT DES OPTIONS
          $options .= '<GALLERY_DATA cellDimension="'._PCV_CELLDIMENSION.'" columns="'.
      _PCV_NBCOLUMNS.'" zoomOutPerc="15" zoomInPerc="100" frameWidth="15" frameColor="'.
      _PCV_FRAMECOLOR.'" captionColor="'._PCV_CAPTIONCOLOR.'" enableRightClickOpen="'._PCV_ENABLERIGHTCLICKOPEN.'">';
          // FIN DES OPTIONS
          // -----------------------
          
          // Requete (attention au prefixe des tables -> a revoir)
          {{$req = "SELECT titre, fichier, descriptif FROM spip_documents WHERE id_document 
      IN ( SELECT id_document FROM spip_documents_articles WHERE id_article = 'article' ) 
      ORDER BY titre;";}}
          $result = spip_query($req);
          
          // Traitement
          $xml = '<?xml version="1.0" encoding="UTF-8" ?>

      ’.$options ;
      while ($row = spip_fetch_array($result))

      $titre = $row[’titre’] ;
      $chemin = $row[’fichier’] ;
      $descriptif = $row[’descriptif’] ;

      $xml .= « \n\n » ;
      $xml .= «  ».$chemin."\n" ;

      if ($descriptif <> «  »)
      $xml .= « <u><a href='".$descriptif."' target='_blank'> &raquo;.$titre."</a></u>\n" ;
      else
      $xml .= «  ».$titre."\n" ;

      $xml .= « \n » ;

      $xml .= ’’ ;

      // On ecrit le fichier
      $file = _DIR_PLUGIN_PCV.« xml/gallery_ ».$id_article.« .xml » ;
      if (file_exists($file)) unlink($file) ;
      if (!$file_handle = fopen($file,« w »))
      spip_log("[PCV] Impossible d’ouvrir le fichier : « .$file) ;
      elseif (!fwrite($file_handle, $xml))
      spip_log( »[PCV] Impossible d’ecrire dans le fichier : « .$file) ;
      else
      spip_log( »[PCV] Creation reussie du fichier : ".$file) ;

      fclose($file_handle) ;

      // On balance le code HTML...
      return ’

      PostcardViewer pour SPIP nécessite JavaScript et le lecteur Flash.
      <script type="text/javascript">
      var fo = new SWFObject("'._DIR_PLUGIN_PCV.'pcv_viewer.swf", "pcv_viewer", "'._PCV_WIDTH.'", "'._PCV_HEIGHT.'", "8", "'._PCV_BGCOLOR.'");

      //Optional Configuration
      fo.addParam("wmode", "'._PCV_WMODE.'");
      fo.addVariable("langOpenImage", "Ouvrir l\'image dans une nouvelle fen&ecirc;tre");
      fo.addVariable("langAbout", "A propos de");
      fo.addVariable("xmlURL", "'._DIR_PLUGIN_PCV.'xml/gallery_'.$id_article.'.xml");

      fo.write("flashcontent");
      </script>

       ;

       ?>

      Dans mon esprit, id_gallery n’extiste pas a priori dans la version 1.9.2 et l’id_article remplace cela
      spip_documents_articles est l’équivalent du spip_document_liens de spip 2.0 pour les articles
      après j’ai fait une modif de ce qui est en gras qui me semblait logique mais bon ça ne marche pas !

      Dommage ! mais ça se trouve vous verrez mes erreurs !

      Vincent

    Répondre à ce message

  • 1

    1) Au moins mon intervention aura servi à corriger cette erreur
    3) J’utilise la version 1.9.e de spip. Vu que je suis néophite j’utilise comme squelette plugin ParamSpip valable sur cette version et (a priori) pas compatible en version 2.0
    2) je les avais inséré via le formulaire « ajouter une image ». Suite à ta remarque j’en ai mis quelques unes via « ajouter un document » mais cela ne change pas.

    Si c’est un problème de version c’est vraiment dommage car ton plugin est super sympa.

    Vincent

    • Je confirme : c’est bien un problème de version.
      Si tu te sens l’âme d’un bidouilleur, tu peux prendre en compte ces remarques pour modifier légèrement le plugin et le rendre compatible avec la version 1.9.

    Répondre à ce message

  • 1
    Vincent

    Bonjour,

    Je vous ai envoyé un message sur votre mail mais je viens de recevoir un message d’erreur
    Pour info
    « This is an automatically generated Delivery Status Notification

    THIS IS A WARNING MESSAGE ONLY.

    YOU DO NOT NEED TO RESEND YOUR MESSAGE.

    Delivery to the following recipient has been delayed :

    Adresse iniquée dans lisez moi

    Message will be retried for 2 more day(s)

    Technical details of temporary failure :
    DNS Error : Domain name not found »

    Voici donc le fichier en pièce jointe.

    Merci d’avance

    Vincent

    • 1) effectivement, il y a un problème sur mon adresse mail, je corrige et met à jour le ZIP.
      2) ton fichier XML ne contient aucune image. Comment les as-tu insérées dans l’article ? Si tu modifies l’article, est-ce que tu vois les images à gauche ?
      3) quelle version de SPIP utilises-tu ?

    Répondre à ce message

Ajouter un commentaire

Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :

  • Désactiver tous les plugins que vous ne voulez pas tester afin de vous assurer que le bug vient bien du plugin X. Cela vous évitera d’écrire sur le forum d’une contribution qui n’est finalement pas en cause.
  • Cherchez et notez les numéros de version de tout ce qui est en place au moment du test :
    • version de SPIP, en bas de la partie privée
    • version du plugin testé et des éventuels plugins nécessités
    • version de PHP (exec=info en partie privée)
    • version de MySQL / SQLite
  • Si votre problème concerne la partie publique de votre site, donnez une URL où le bug est visible, pour que les gens puissent voir par eux-mêmes.
  • En cas de page blanche, merci d’activer l’affichage des erreurs, et d’indiquer ensuite l’erreur qui apparaît.

Merci d’avance pour les personnes qui vous aideront !

Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.

Qui êtes-vous ?
[Se connecter]

Pour afficher votre trombine avec votre message, enregistrez-la d’abord sur gravatar.com (gratuit et indolore) et n’oubliez pas d’indiquer votre adresse e-mail ici.

Ajoutez votre commentaire ici

Ce champ accepte les raccourcis SPIP {{gras}} {italique} -*liste [texte->url] <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.

Ajouter un document

Suivre les commentaires : RSS 2.0 | Atom