[(#FORMULAIRE_ARTICLE)] : Permettre aux visiteurs de proposer un article sur votre site

Comment permettre à vos visiteurs de proposer un article ? En lui proposant un formulaire à remplir !

Voilà ce que nous souhaitons faire : http://www.livres-online.com/ecrire.php3, comme sur cette page permettre aux visiteurs du site de proposer des articles.

Gestion de l’insertion de l’article dans la base de données

Ce code PHP inclus sert à réaliser l’insertion des données dans la base une fois le formulaire validé. Il faut le mettre au tout tout début du squelette concerné.

<INCLURE(formulaire_article.php3)>

-  Une erreur sera générée par le « header() » si un code HTML quelconque a été écrit préalablement (voir fichier),
-  Si l’auteur est logué c’est lui l’auteur, sinon c’est l’auteur n° 1,
-  L’article aura le statut « proposé ».

Affichage du Formulaire

À mettre à l’endroit opportun de votre squelette, dans une boucle (RUBRIQUES) avec pour id_rubrique la rubrique concernée.

<h1>Proposer un article</h1>
<?
if($message){
echo $message ;
}else{
if ($titre_article || $texte) {
?>
<h2>Appercu avant la publication </h2>
<div style="padding:10px;border:1px dashed #cccccc;margin:10px;width:40%">
<h3><?echo strtoupper($titre_article);?></h3>
<p><?echo nl2br($texte);?></p>
</div>
<?}else{?>
<p>
Vous souhaitez proposer un article, remplissez le formulaire ci-dessous</p>
<?}?>
<form method='POST' action='#SELF'>
<h2>Proposer un article</h2>
<p>Titre : <INPUT TYPE="text" CLASS="forml" NAME="titre_article" VALUE="<?echo $titre_article;?>" SIZE="30"></p>
<p>
<b>Descriptif :</b>
<BR><TEXTAREA NAME='texte' ROWS='20' CLASS='forml' COLS='40' wrap=soft><?echo $texte;?></textarea>

<!--
<p>
Nom du site : <INPUT TYPE="text" CLASS="forml" NAME="nom_site" VALUE="<?php echo $nom_site; ?>" SIZE="30">
</p>
<p>
Url du site : <INPUT TYPE="text" CLASS="forml" NAME="url_site" VALUE="<?php echo $url_site; ?>" SIZE="30">
</p>
-->

<DIV ALIGN="left"><small>Les champs en gras sont obligatoires</small></div><br>
<DIV ALIGN="right">
	<INPUT TYPE="submit" NAME="Visualiser" CLASS="spip_bouton" VALUE="Visualiser votre article">
	<?if ($titre_article && $texte) {?>
		<INPUT TYPE="hidden" NAME="id_rubrique" VALUE="#ID_RUBRIQUE">
		<INPUT TYPE="hidden" NAME="id_auteur" VALUE="<?php echo $auteur_session['id_auteur'] ; ?>">
		<INPUT TYPE="hidden" NAME="redirect" VALUE="#SELF">
		<INPUT TYPE="submit" NAME="Valider" CLASS="spip_bouton" VALUE="Demander la publication">
	<?}?>
</DIV></p>
</FORM>
<?php } ?>

Le Script

Voici une nouvelle version du script :

formulaire_article.php3
Codes à télécharger et à intégrer en haut du squelette avec l’inclure.

Vous pouvez le télécharger, le modifier pour le rendre générique, et nous le re-proposer ici même (via le lien Variantes ci dessous par exemple).

Amusez vous bien.

Une fois que cela marchera bien comme squelette php3/html, on verra comment l’intégrer au parseur de squelettes de spip pour le faire fonctionner comme une [(#BALISE)].

Discussion

14 discussions

  • Bonjour,

    comment pourrait-on proposer une boite logo, permettant aux rédacteurs d’insérer une image, comme cela se fait dans l’espace privé.

    J’ai bien essayé avec spip_image mais je ne m’en sort pas.

    Merci

    Répondre à ce message

  • Les messages du forum permettent déjà une publication libre et une modération au choix des modérateurs (avant ou après).

    Mais on ne peut ajouter de piéce jointes ou d’image.

    Par contre il est possible d’attribuer des mots clefs aux messages du forum.

    J’ai utilisé ce système souvent.

    -  Il faut d’abord créer un article.

    Faire une boucle forum en se référant à cet article. et dans le squelette traiter les les différentes balises #TITRE, #TEXTE du forum exactement avec la meme charte graphique que pour les article.

    On ne fait pas apparaitre l’artice dans le squelette et au lieu de nommer le lien « commentaire », il faut l’appeler « publier » par exemple.

    Les visiteurs se moquent de s’avoir s’ils utilisent une boucle forum ou une boucle article.

    Je n’ai pas d’exemple sous la main, mais si ca interresse quelqu’un je peut publier ici un exemple de ce système.

    Répondre à ce message

  • 1
    ulranovice

    moi aussi je recherchai ce type de possibilité !
    Pensez vous qu’il soit compliqué de rajouter la possibilité
    d’inserrer une image ?

    • je ne conseillerais pas de laisser des visiteurs ajouter des images, ça veut dire qu’ils vont « uploader » des trucs sur ton serveur...

      les malins trouveront tout seuls comment faire des liens style <img src="http://....> pour décorer leurs textes, sinon tu peux leur expliquer dans la page concernée.

    Répondre à ce message

  • Une extention de cette possibilité pourraît être : permettre à un auteur identifié de rédiger des articles dans la / les rubiques autorisées sans passer par l’interface privé avec ou sans possibilité de publier directement.
    cela permettrait d’éviter la vision des autres articles, le dépot d’article dans d’autres rubriques ( par erreur ou volontairement).. est-ce une bonne piste ?

    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