Objectifs
Cette balise génère un formulaire qui permet à un visiteur ou un rédacteur de proposer un article dans une rubrique à partir du site public. les fichiers sont codés avec des fonctions, des boucles et des fichiers langues de spip.
2Voici ses fonctionalités :2
- l’article envoyé est proposé à la publication. Son statut peut-être personalisé par une variable dans mes_options ;
- le formulaire permet de remplir les champs surtitre, titre, soustitre, descriptif, chapo, texte, ps, et de choisir la langue de l’article envoyé ;
- Entièrement multilingue
- Un courriell est envoyé à la liste de suivi.
2Différences avec [(#FORMULAIRE_ARTICLE)] : Permettre aux visiteurs de proposer un article sur votre site2
- c’est une balise, elle est donc plus facile à placer dans les squelettes (il suffit d’y écrire #FORMULAIRE-ARTICLE) et ne demande pas d’utiliser de php ou d’inclusions.
- c’est codé dans l’esprit des autres formulaires spip, avec un squelette .html pour la personnalisation et un .php3 pour les traitements techniques.
Installation
21) copier les fichiers2
L’archive se compose de 4 fichiers, qu’il vous faut copier dans votre répertoire de squelettes :
- formulaire_article.html : le squelette du formulaire proprement dit
- formulaire_article_previsu.html : squelette de prévisualisation
- formulaire_login_article.html : identique à formulaire_login_forum exepté le message affiché ! Permet d’afficher l’interface de connection si la modération est « sur abonnement ».
- inc-formulaire_article.php3 : traitement des données du formulaire et envoi dans la base de donnée spip.
22) choississez votre type de modération2
Si vous souhaitez une modération a priori, vous pouvez sauter cette étape !
Une variable dans mes fonction permet de déterminer la modération à appliquer, à l’image des forums de spip [1]. Cette variable globale doit être placée dans mes_options.php3. elle peut prendre deux valeurs :
- sur abonnement : il sera nécessaire de s’identifier pour proposer un article. La variable qui doit être placée dans mes_options est :
$GLOBALS['articles_publics'] = 'abo';
- a posteriori : l’article est directement publié en ligne. Dans ce cas écrivez :
$GLOBALS['articles_publics'] = 'pos';
Si cette variable est omise ou différente des valeurs ci-dessus, la modération se fait a priori (l’article est proposé et doit être validé par un admin).
23) Placez la nouvelle balise dans vos squelettes2
Une fois que les fichiers ont été copiés vous pouvez utiliser la balise #FORMULAIRE_ARTICLE dans vos squelettes.
Attention ! cette balise doit être placée dans une boucle RUBRIQUE !
Exemple, pour un formulaire qui propose un article dans la rubrique n°1 :
<BOUCLE_proposer(RUBRIQUES){id_rubrique=1}>
#FORMULAIRE_ARTICLE
</BOUCLE_proposer>
24) Adaptez a vos besoins2
Vous pouvez modifier les squelettes formulaire_article.html et formulaire_article_previsu.html pour les adapter au graphisme de votre site.
Évolutions possibles
- permettre le choix de la rubrique avec un formulaire de sélection.
- Inscrire automatiquement comme visiteur la personne qui publie.
Discussions par date d’activité
14 discussions
There is a mistake with the id_rubrique hidden input, so the value of id_rubrique doesn’t correct, and the public articles will be at the root of site.
solution :
find it in formulaire_article.html (line 10 aprox) :
<input class="id_rubrique" type="hidden" name="titre" value="[(#ENV*{id_rubrique})]" size="50">
and change with this :
<input class="titre" type="hidden" name="id_rubrique" value="[(#ENV*{id_rubrique})]" size="50">
that’s all.
Please, update the Zip.
bye
Martin
Thanks for your correction. This contrib will evolve during next few weeks, so I will correct the bug then.
I have the same error, but despite the modif, it doesn’t work anymore....
The created articles stay at the root.
Any Ideas
J’ai eu la même erreur et finalement j’ai directement mis le numéro de la rubrique dans
<input class="titre" type="hidden" name="id_rubrique" value="[(#ENV*{id_rubrique})]" size="50">
à la place de
[(#ENV*{id_rubrique})]
.J’ai eu une autre erreur aussi : Call to undefined function interdire_scripts... Et du coup j’ai rajouté la ligne
include_ecrire ("inc_texte.php3");
dans le fichier inc-formulaire_article.php3 (ligne 6 à peu près).
Répondre à ce message
Merci beuacoup pour cette contribution.
je travaille avec SPIP 1.8.3 et j’aimerai savoir comment faire disparaitre :
script type=« text/javascript » src=« spip_barre.js »
qui s’affiche en dessus du champ texte. (le javascript fonctionne-la barre s’affiche)
Merci
Rainer
Par rapport a mom message de hier. Comme déjà constaté avant dans d’autre message, le javascript ne fonctionne vraiment pas, contrairement à ce que je pensais. Est-ce quelqu’un aurait une idée comment le faire fonctionner ou faire en sorte que la barre ne s’affiche pas sans toucher au noyeau spip ?
Merci d’avance
Rainer
J’ai le même probléme, je suis aussi sous la version 1.8.3
Quelqu’un aurait une solution ?
Finalement j’ai simplement enlevé dans le fichier « inc-formulaire_article.php »
l’inclusion suivante :
« include_ecrire(’inc_layer.php’) ; »
(se trouve a la fin du fichier entre
« function barre_article($texte)
»
et
« if (!$GLOBALS[’browser_barre’]) »)
et rajouté un lien vers le document qui regroupe les raccourcis, voir pour le français http://www.spip.net/IMG/pdf/doc-273.pdf
Pas vraiment un solution, mais une sortie du problème
Rainer
je viens de tester cette contribution, et en remplaçant cette ligne
par ceci
(j’ai été regarder dans le formulaire du forum, il y avait 2 ** ...), la barre de texte fonctionne bien
Merci pour cette correction.
Je n’ai pas la possibilité de corriger dans l’archive... (je ne suis qu’un modeste rédacteur)
Pour le reste, il faut accepter cette contrib tel quel pour le moment, n’ayant pas de temps a disposition pour la faire évoluer plus avant ...
Le formulaire ne s’affiche pas AIDEZ MOI SVP !!! Est-il compatible SPIP 1.9 ?
J’ai ecrit #FORMULAIRE_ARTICLE dans « rubrique.html » en ayant prealablement copié les 4 fichiers dans le dossier « squelettes ». Je me demande comment prend en compte SPIP le fichier « inc-formulaire_article.php3 ». J’ai tenter de changer les extension « php3 » en « php » mais ca ne fonctionne toujours pas. De l’aide... je suppose qu’il faut le rendre compatible spip 1.9 mais comment ???
Salut, c’est dans le répertoire « formulaires » que tu dois mettre les quatres fichiers, pas dans le répertoire « squelette » !
Pour la compatibilité, je n’ai pas encore testé mais ca doit fonctionner.
Meme problème avec SPIP1.9. Rien ne s’affiche, meme avec les 4 fichiers dans ce répertoire.
Je suis débutant avec SPIP, pour certain la solution est sans doute évidente. Donc comment faire pour installer #FORMULAIRE_ARTICLE avec spip1.9 ???? Merci
HELP pour la 1.9 et 1.9.1
le formulaire ne s’affiche pas
meme en mettant les 4 fichiers dans le repertoire formulaire.
Merci de votre aide
Répondre à ce message
bonjour,
j’ai résolu mon problème précédent. Pourtant il subsiste un soucis.
lorsque j’affiche la prévisualisation, la partie TEXTE ne s’affiche pas, pourtant elle apparait bien dans l’admin spip si je valide.
Qqun peut-il me répondre please !
comment as tu fait pour resoudre ton probleme ? j’ ai le meme :(
Moritz
pourrais-tu expliquer comment as-tu fait, pour afficher le formulaire ?
je n’arrive pas à le faire fonctionner.
Merci
Répondre à ce message
Merci pour cette contribution, il serait intéressant aussi de pouvoir associer des mots-clés aux articles.
Paul Sanches
Répondre à ce message
d’abord merci pour cette contibution. Comme d’autre, je dois permettre aux visiteurs du site public de poster un document joint (en fait deux)en même temps qu’ils rédigent un article.
Je suis bien incapable de faire le script permettant d’alimenter la table ou sont stockés les documents joints.
Comment modifier le script, pour authoriser l’upload de pièces jointes liées à un article ???
Super merci si j’ai une réponse
Répondre à ce message
Salut !
Je viens d’installer la contrib. J’ai glissé les 4 fichier dans mon dossier /dist de Spip 1.8.3
J’ain insérré la balise #FORMULAIRE_ARTICLE dans la page de mon site qui est destinée à afficher le formulaire, mais rien ne s’affiche.
Je n’ai rien mis dans « mes_options » car je souhaite une mdérations a priori.
Mais bon, aucun formaulaire ne s’affiche sur ma page et je ne comprend pas pk.
Ah oui, je n’ai bien sur pas oublié de l’inséré dans une boucle rubrique, mais rien n’y fait.
Répondre à ce message
Bonjour,
Contrib fort appréciée... mais la zone pour le texte n’a qu’une ligne et la barre d’édition n’apparaît pas...
J’ai appliquer les correctifs proposés dans le forum de l’article soit :
En visionnant la source, je constate que le script spip-barre.js est présent mais ne semble pas fonctionnel.
Le débugger Javascript de FireFox ne se plaint de rien...
SPIP 1.8.2e / FireFox 1.5 et Internet Explorer 6 / WinXP
Dans un second temps, je voudrais utiliser ce formulaire pour saisir des évènement de mon calendrier... Comment ajouter la date de rédaction antérieure ? Est-ce que la saisie de la date peut se faire avec un script comme spip_barre.js
Merci d’avance
Pour la question du calendrier,
Tu trouvera ci-dessous une version du formulaire adaptée a l’utilisation dans un calendrier.
[->http://simon.cassiopea.org/custom/upload/SpipContrib/FormulaireArticleCalendrier.tgz]
Le choix de date de début et de fin se fait a l’aide d’un nouveau squelette formulaire_date.html. Spip propose des fonctions qui crééent pour toi ce type de formulaires, pas besoin donc de réinventer la roue. pour les bidouilleurs, c’est afficher_jour_mois_annee_h_m().
En esperant que ce sera utile ...
Cependant, je souhaitait préserver la date de publication, et éviter les bidouillages avec la date de rédaction antérieure. La date de début est donc stockée dans le surtitre, et la date de fin dans le soustitre. Ce qui permet de boucler avec les critères de tris de date sur ces champs age_surtitre avec [ce patch->http://listes.rezo.net/archives/spip-zone/2005-11/msg00031.html].
Attention, ce type de modif du noyau n’est pas recommendé si vous ne savez pas ce que vous faites.
A toi d’effectuer les modifications nécessaires pour l’adapter a ton cas si tu veux utiliser la date de rédaction antérieure.
Répondre à ce message
Bonjour,
peut-on envisager la possibilité d’introduire plusieurs formulaires_article ?
Je m’explique, je voudrais proposer le formulaire proposé dans cette contribution, et en plus, un deuxième formulaire où certaines étiquettes seront changées.
Si ceci est possible, faut-il dupliquer les fichiers
- formulaire_login_article.html
- formulaire_article_previsu.html
- inc-formulaire_article.php3 ? Puisqu’il aura deux formulaire_article.html
L’objectif est uniquement de changer les étiquettes des différentes zones de texte pour l’adapter à une rubrique particulière du site.
Merci d’avance
JMLR
pour avoir un formulaire spécifique à une rubrique,
c’est comme pour tous les squelettes : formulaire_article=10.html sera spécifique à la
rubrique n°10
Répondre à ce message
Bonjour,
je réitère ma question en l’absence d’une réponse...
Pourriez-vous me dire s’il est possible d’y rajouter une fonctionnalité qui permettrait aux internautes d’uploader des documents joints, en particulier des images ?
D’avance merci de votre réponse
Père Ubu
Il me semble qu’une réponse a été donnée.
Bien sur c’est possible, mais il faudra attendre que quelqu’un mette ses mains dans le cambouis, et nous sorte une belle contrib...
cela entrainerait la possibilité pour des inconnus d’avoir accès en écriture sur un dossier de spip, ce qui est une très mauvaise idée niveau sécurité.
Est-ce si risqué ?
est-ce toujours risqué, même si on limite la possibilité d’uploader à des formats d’images ?
on pourrait autoriser les documents distants
en imposant par défaut de ne pas les télécharger
euhmmm, oui...
qu’entendez-vous exactement par ceci ?
Répondre à ce message
J’ai installé la contrib et elle marche parfaitement pour les utilisateurs loggés...
Cependant pour les visiteurs, j’ai l’erreur suivante qui s’affiche...
Fatal error : Call to undefined function : interdire_scripts() in /homepages/8/d139596306/htdocs/sklunk/squelettes/inc-formulaire_article.php3 on line 159
des idées ?
Il semblerais qu’il te manque la fonction interdire_scripts(). Utilise tu une ancienne version de spip ? As tu effectué des modifications au noyau ?
Tu peut toujours supprimmer l’appel de cette fonction dans le fichier inc-formulaire_article.php3...
J’ai rencontré le même souci. Solution : ajouter
include_ecrire (« inc_texte.php3 ») ;
en début du fichier inc-formulaire_article.php3
Juste après la ligne
include_ecrire (« inc_date.php3 ») ;
(par exemple).
Merci c’est bien cela !!!
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 :
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.
Suivre les commentaires : |