PostCardViewer pour SPIP

All contributions published for previous SPIP versions

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

updated on 9 February 2019

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.

    Reply to this message

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

    Reply to this 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é.

    Reply to this 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

    Reply to this 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

    Reply to this 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 ?

    Reply to this 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 ?

    Reply to this 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 .= “\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

    Reply to this 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.

    Reply to this 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 ?

    Reply to this message

Comment on this article

Who are you?
  • [Log in]

To show your avatar with your message, register it first on gravatar.com (free et painless) and don’t forget to indicate your Email addresse here.

Enter your comment here

This form accepts SPIP shortcuts {{bold}} {italic} -*list [text->url] <quote> <code> and HTML code <q> <del> <ins>. To create paragraphs, just leave empty lines.

Add a document

Follow the comments: RSS 2.0 | Atom