SPIP-Contrib

SPIP-Contrib

عربي | Deutsch | English | Español | français | italiano | Nederlands

289 Plugins, 197 contribs sur SPIP-Zone, 67 visiteurs en ce moment

Accueil > Rédaction > Édition publique > Rédiger coté public > Formulaire d’ajout/modification d’articles côté public à partir de (...)

Formulaire d’ajout/modification d’articles côté public à partir de SPIP2.1

2 janvier 2012 – par acatonne – 76 commentaires

12 votes

Ceci est une « contribution pédagogique », qui montre par l’exemple comment développer une nouvelle fonctionnalité pour SPIP.

A partir de SPIP 2.1, et plus encore en SPIP3, plus besoin de plugin ou procédure compliquée pour l’édition côté public de vos articles.

Une illustration de possibilités, adaptable pour tous les objets SPIP.

La base

L’appel du formulaire #FORMULAIRE_EDITER_ARTICLE{id_article, id_rubrique, retour, lier_trad} est décrit dans la documentation de SPIP pour un article comme pour les autres objets SPIP.

Avec cette simple ligne dans votre squelette vous pouvez publier un formulaire fonctionnel d’ajout ou de modification d’un article ou de tout objet SPIP.

Rendre ces formulaires publics :
Comme indiqué dans la documentation, vous appelez le formulaire dans un squelette de votre choix.

En pratique, ça peut donner :
Pour un nouvel article :

  1. #FORMULAIRE_EDITER_ARTICLE{new, XXX, #SELF}

où XXX est le numéro de la rubrique dans laquelle vous souhaitez que les articles soient enregistrés.

Pour l’édition d’un article :
Dans une boucle ARTICLES, qui donnera la valeur du #ID_ARTICLE, ou en remplaçant #ID_ARTICLE par #ENV{id_article} si vous passez le numéro d’article dans l’url :

  1. #FORMULAIRE_EDITER_ARTICLE{#ID_ARTICLE, #ID_RUBRIQUE, #SELF}


Pour l’édition d’un article, de son logo et de ses documents joints - en SPIP3 (dans une boucle ARTICLES) :

  1. #FORMULAIRE_EDITER_LOGO{article,#ID_ARTICLE,#SELF,#ENV**}
  2. #FORMULAIRE_EDITER_ARTICLE{#ID_ARTICLE, #ID_RUBRIQUE, #SELF}
  3. <INCLURE{fond=plugins-dist/medias/prive/objets/editer/colonne_document,objet=article,id_objet=#ID_ARTICLE,env} />

Télécharger

Si vous souhaitez vérifier/restreindre les droits

Vous pouvez vérifier/restreindre le droit de proposer un article. Par exemple :
Est-ce que l’auteur est bien loggé :

  1. [(#SESSION{id_auteur}|oui)
  2. #FORMULAIRE_EDITER_ARTICLE{new, "0", #SELF}
  3. ]

Télécharger

Est-ce que l’auteur a le droit de modifier l’article en question (pour l’édition d’un article pré-existant, donc dans une boucle ARTICLES) :

  1. [(#AUTORISER{modifier,article,#ID_ARTICLE}) #FORMULAIRE_EDITER_ARTICLE{#ID_ARTICLE, #ID_RUBRIQUE, #SELF}
  2. ]

Télécharger

N.B. : la gestion des autorisations se définit via le plugin « Autorité », où en surchargeant dans votre fichier mes_options.php les fonctions « autoriser ».

Et si vous voulez personnaliser votre formulaire ?

Il faut alors faire vos propres formulaires, à partir des originaux.
Dans votre dossier « squelettes », dans lequel vous rangez vos squelettes personnalisés, dans un sous dossier « formulaires », vous copiez les fichiers suivant :
-  editer_article.html
-  editer_article.php

Vous trouverez les originaux dans le dossier original « /privé/formulaires/ » de votre SPIP.

Si vous voulez qu’ils soient utilisés partout, y compris dans l’espace privé, vous les copiez sans modifier les noms (principe de la « surcharge »).

Si vous voulez les appeler ponctuellement à certains endroits, pour porposer par exemple une version allégée du formulaire de rédaction, il faut les personnaliser :

Vous les renommez, par exemple :
-  editer_article_public.html
-  editer_article_public.php

Puis vous ouvrez votre « editer_article_public.php » tout frais, et à chaque fois que vous trouvez l’occurence « editer_article », vous la remplacez par « editer_article_public »
Ainsi par exemple, « formulaires_editer_article_charger_dist » devient « formulaires_editer_article_public_charger_dist », etc.

Et voilà, bravo, c’est prêt !

Tous vos appels de formulaires -décrits plus haut- devront alors être fait avec ce nouveau nom, par exemple :

  1. #FORMULAIRE_EDITER_ARTICLE_PUBLIC{#ID_ARTICLE, #ID_RUBRIQUE, #SELF}

Pré-définir des valeurs
Vous pouvez dans le fichier editer_article_public.html définir des valeurs en remplaçant des champs par des input hidden.
par exemple :

  1. <input type='hidden' id='statut' name='statut' value='prop' />


Ca peut aussi être fait dans editer_article_public.php, via la fonction formulaires_editer_article_public_charger_dist.

Retirer des champs
Vous pouvez retirer des champs du formulaire editer_article_public.html si vous le souhaitez (à l’exception du titre et du champ rubrique, sauf à les avoir pré-définis comme ci-dessus).

Et aussi
A voir également d’autres illustrations ici
[EDIT 1mars2017] Des options complémentaires dans cette discussion

Dernière modification de cette page le 1er mars 2017

Retour en haut de la page

Tout afficher

Vos commentaires

Répondre à cet article

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 Les choses à faire avant de poser une question (Prolégomènes aux rapports de bugs. )
Ajouter un document

Retour en haut de la page

Ça discute par ici

  • Sauvegarder le répertoire IMG/ avec wget

    20 février 2007 – 10 commentaires

    Voici un système client serveur en deux lignes pour sauvegarder le répertoire des documents.

  • Rôles de documents

    21 février – commentaires

    Ce plugin permet d’attribuer un rôle aux documents liés aux contenus, et cerise sur le gâteau, rend possible la gestion des logos par le biais des documents-joints. Principe Les documents liés aux contenus n’ont pas forcément tous la même (...)

  • COLT : Extension de Firefox utile pour SPIP

    21 septembre 2008 – commentaires

    Une petite extension de Firefox qui permet de copier des liens sous format SPIP

  • Moulinette

    17 juillet 2015 – 46 commentaires

    Un squelette qui monte et qui descend ! Moulinette est un squelette basé sur le thème Grayscale (documentation) pour Bootstrap 3. Le type de site attendu est un site en une seule page : une rubrique avec quelques articles, des titres courts, des (...)

  • Plugin Duplicator

    3 janvier 2010 – 88 commentaires

    Duplication de rubrique et de ses contenus, et duplication d’articles pour SPIP Fonctionnement Ce plugin permet de dupliquer une rubrique et son contenu depuis l’espace privé en ajoutant un bouton dans la navigation de gauche dans l’espace privé (...)