Documents et logo sur les évènements

Attention, cette contribution est EN CHANTIER : elle n’est peut-être pas fonctionnelle.

Pour illustrer les évènements du plugin agenda 2.0

Objectif

Disposer du formulaire d’ajout de logo et de documents sur l’édition d’un évènement, de la même manière que pour un objet spip standard (comme un article, une rubrique...).

Pré-requis

Disposer d’agenda2 et de la mediathèque, sinon, les installer :

Fonctionnement

Le plugin permet d’obtenir les formulaires qui vont bien sur la modification d’un évènement.

De plus, si vous faites référence à un document que vous n’avez pas ajouté à cet évènement dans son descriptif (via <docXX>
), il le détectera et liera automatiquement le document (à l’enregistrement, donc à la création ou à la modification, plus précisément sur le pipeline post_edition.

Effet de bord

Si le champ descriptif de vos autres objets (articles, rubriques...) contient des références à des documents <doc XX>, les documents deviendront liés à ces objets lorsque vous les modifiez.

Par défaut, SPIP (et la médiathèque également) détecte les références aux documents <doc XX> pour créer le lien entre l’objet et ces documents uniquement dans les champs chapo et texte. Ce plugin ajoute le champ descriptif dans cette fonction, ce pourrait dans certains cas particuliers être non souhaitable.

ToDo ?

Il ne permet donc pas pour le moment d’obtenir leur gestion dès la création de l’évènement, ce qui peut être ennuyeux si vos squelettes affichent les évènements dès leur enregistrement.

Pour plus d’informations sur le fonctionnement du plugin pour la gestion des documents, vous pouvez consulter Utiliser la médiathèque dans vos plugins « objet »

Discussion

10 discussions

  • bonjour
    j’ai des événements passés, j’ai mis supprimé, ils le sont bien, mais ils sont toujours là quand je demandes événements dans le menu, pas moyen de les virer .
    J’ai parcouru le site sur l’hébergeur, en ssh, en ftp, j’ai fait trois fois le tour
    ils sont cachés où ces fichiers, ils existent bien puisque je les vois dans mon espace privé à Éditions/événements
    Je ne peux ni modifier ni supprimer ...
    ou bien, j’ai rien compris, en tout cas j’attends une réponse, car j’ai fait le tour complet de ce que je savais faire.snif..:a)

    Répondre à ce message

  • 2

    Le plugin me permet l’ajour d’un logo pour un événement, très pratique...

    J’ai sur le site un formulaire d’ajout d’événement depuis l’espace public. J’aimerai évidemment étendre ce forumulaire pour que li’nternaute puisse choisir un logo depuis l’espace public.

    Une idée ?

    • Avec spip 3 cela parait facile avec formulaire_editer_logo dans une boucle evenement (pas testé) :
      #FORMULAIRE_EDITER_LOGO{evenement,#ID_EVENEMENT,#SELF,#ENV**}

    • Sous SPIP2 mon code qui fonctionne :

      [<div class='ajax uploadlogo'>
       (#FORMULAIRE_EDITER_LOGO{evenement,#ID_EVENEMENT,'',
      #ARRAY{image_passe_partout{200,200},image_recadre{200,200,top}}})</div>]

    Répondre à ce message

  • 3
    François

    Bonjour,
    Serait-il possible d’obtenir une distribution de cet excellent plugin sur spip 3. Sur cette version de spip, il est possible d’ajouter des logos mais pas de documents...

    • Bonjour François,

      Pour ajouter des documents à un évènements en SPIP3, il te suffit d’activer agenda et de cocher la case « évènements » dans la configuration des contenus de spip (?exec=configurer_contenu, Activer le téléversement pour les contenus ...).

      Aussi je ne comprends pas bien la demande ?

    • François

      C’est exactement ce que je cherchais à faire. Je ne croyais pas que c’était si simple !
      Merci beaucoup

    • De rien, ça fait plaisir que cette tentative de « plugin » soit totalement périmée pour SPIP > 2.1

    Répondre à ce message

  • 1

    C’est vraiment super.

    J’aimerai ne proposer QUE l’ajout d’un logo à un événement et ne pas permettre l’ajout d’un document. Cela est-il envisageable ?

    • J’ai obtenu a peu près ce comportement en commentant certaines lignes du pipeline. Si ce n’est pas très propre, cela me débloque.

      Par contre, je ne suis pas parvenu à surcharger le fichier docs_logos_agenda2_pipeline.php et j’ai seulement pu agir en modifiant le fichier du plugin.
      Y aurait-il un moyen de surcharger ce fichier ?

    Répondre à ce message

  • 3

    Ce plugin est très pratique, merci de nous le proposer.

    Malheureusement, depuis la révision 53773 du 27 octobre 2011 de Agenda 2, ça provoque chez moi l’erreur suivante :

    Fatal error : Cannot redeclare generer_url_ecrire_evenement() (previously declared in /plugins/auto/agenda_2_0/agenda_fonctions.php:120) in /plugins/auto/docs_logos_agenda2/agenda_fonctions.php on line 11

    Une bonne âme qui tutoie php (ce qui n’est pas mon cas) peut-elle se pencher sur le problème ?

    J’oubliais, je suis en SPIP 2.1.11.

    • Merci pour ta remontée, j’ai tenté de faire le nécessaire, en mettant à jour docs_logos_agenda2 ca devrait fonctionner normalement http://zone.spip.org/trac/spip-zone...

      Le problème n’est pas dépendant de la version de SPIP mais de celle d’Agenda2, qui depuis 53773 declare generer_url_ecrire_evenement (ce que ce plugin déclarait aussi). Ca n’avait rien à faire dans ce plugin et tant mieux que ça rentre dans agenda.

    • Félicitation pour la réactivité.

      C’est tout bon, ça fonctionne.

      Merci.

    • une distrib pour spip 3 ?

    Répondre à ce message

  • 5

    Bonjour,

    c’est un plugin très utile merci !

    Je ne sais pas si c’est moi mais il semblerait que le logo et documents attachés à un évènement ne s’affiche que pour la première occurrence et pas sur les répétitions.

    dd

    • Bonjour, c’est à la mediathèque qu’il faut dire merci ;-)

      Je n’utilise pas les répétitions donc je n’y ai simplement pas pensé. Si c’est simplement pour un affichage public, on peut toujours rajouter une boucle dans le squelette qui ira chercher le logo de l’évènement source :

      <BOUCLE_evenement(EVENEMENTS){les critères...}>
      <BOUCLE_evenement_source(EVENEMENTS){id_evenement=#ID_EVENEMENT_SOURCE}> 
      #LOGO_EVENEMENT
      </BOUCLE_evenement_source>
      </BOUCLE_evenement>

      Ou sinon tester la présence d’un logo et envoyer un inclure avec cette boucle si le logo n’est pas la

      [(#LOGO_EVENEMENT|sinon{#INCLURE{fond=inc_logo_source,id_evenement=#ID_EVENEMENT_SOURCE}})]

      et dans inc_logo_source.html

      <BOUCLE_evenement_source(EVENEMENTS){id_evenement}> 
      #LOGO_EVENEMENT
      </BOUCLE_evenement_source>

      Si c’est pour autre chose, je suis curieux et je voudrais savoir quoi afin de tenter d’améliorer tout ça.

    • (Pour les documents, même principe)

    • Bonjour et bravo pour ce plugin !

      Je souhaite ajouter des logos à mais événements de l’agenda2, mais si ça se passe bien dans la partie privée, la balise #LOGO_EVENEMENT ne me permet pas d’afficher le logo sur la partie public...
      Aurais-je loupé quelque chose d’important ?
      J’ai bien entendu essayer les différentes lignes proposées plus haut, mais rien n’y fait...

      Merci de votre aide.

    • Non je ne vois pas, faites une page de test simple avec simplement

      <BOUCLE_logo_event(EVENEMENTS){id_evenement=XX}>
      #LOGO_EVENEMENT
      </BOUCLE_logo_event>

      où XX est le numéro de l’évènement d’un article publié, évènement qui a un logo. Si ça ne marche toujours pas c’est avec quelle version de SPIP ?

    • Bonjour et merci de la réponse.
      En fait je devais être fatigué hier soir...
      Je ne regardais pas le bon événement :-(
      Ça marche sans soucis :-)

    Répondre à ce message

  • 1

    Attention, coquille ! Il manque «  ; » à la ligne 4 avant « } » dans le fichier « docs_logos_agenda2_pipelines.php »

    Répondre à ce message

  • 1

    bonjour, merci pour le plugin très pratique

    gestdoc n’existe plus vive medias !

    Dans plugin.xml, mettre
    <necessite id="medias" version='[1.3.5;]'/>

    Répondre à ce message

  • Comme je disais, je ne suis pas programmeur ;-)

    Répondre à ce message

  • 4
    Pierre-Jean

    Très très intéressant... !

    Questions :

    -  Quel intérêt de passer par la médiathèque pour faire ça ? Plus simple à coder ?
    -  Quel code pour faire ça encore plus simplement avec un plugin objet sans passer par la médiathèque

    Pierre-Jean

    • Bonjour,

      L’intérêt : Oui, clairement plus « simple » mais ce n’est pas la seule raison : la mediathèque est sensée intégrer le core de SPIP dans la prochaine mise à jour majeure de SPIP, donc autant « se préparer ». Elle fournit des points d’entrées que le core ne fournit pas, ce qui facilite les choses (voir le lien dans le PS). Effectivement, on pourrait s’en passer et utiliser le core. C’est d’ailleurs ce que fait spip_objets pour une raison un peu spécifique au plugin (des noms d’objets dynamique). On y perd les avantages de la fonctionnalité permettant de détecter les références aux documents (< doc XX >) dans le descriptif d’un évènement et de les lier à ce dernier s’ils ne le sont pas, et la simplicité pour « demander » à la mediatheque de s’afficher dans le ton plugin objet. (a moins de surcharger marquer_doublons_docs mais est-ce réellement plus propre que d’installer mediatheque et de faire tout ça en 3 lignes ?

      Pour le code, si tu tiens à utiliser le core, tu peux regarder comment fait spip_objets.

    • Vous faites ma joie aujourd’hui... Voici plusieurs fois que j’en parle dans différents commentaires.... et enfin, quelqu’un réalise mon voeux... C’est Noël avant la date !

      Merci beaucoup et en effet, je serai content lorsque médiathèque sera dans le core !

      Tout ceux qui utilisent SPIP ne sont pas nés programmeurs.... Et si je bidouille ici ou là, j’avoue que ce sera plus facile pour moi d’intégrer dans mes événements documents et logos.

    • Attention, il manque une fin de parenthèse à la ligne 10 du fichier « docs_logos_agenda2_pipelines.php » juste avant l’accolade ouvrante du « if »

    • Merci ! Il y en avait plutot une en trop et une condition inutile. C’est nettoyé dans la 1.2, désolé...

    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