Création d’article avec document depuis l’espace public

Je cherche à proposer un formulaire permettant à un auteur (identifié) de pouvoir créer un article et y joindre un document depuis l'espace public
J'ai essayé (en vain jusque maintenant) de jouer avec #FORMULAIRE_EDITER_ARTICLE
et #FORMULAIRE_JOINDRE_DOCUMENT
mais je n'ai pas abouti.

Quelqu'un pour me dépanner ?
Merci beaucoup d'avance

Manu

regarde du coté de

Message du 04/12/19 19:57
De : « Manu » manu@mine-de-rien.fr
A : spip@rezo.net
Copie à :
Objet : [Spip] Création d’article avec document depuis l’espace public

Je cherche à proposer un formulaire permettant à un auteur (identifié)
de pouvoir créer un article et y joindre un document depuis l’espace public
J’ai essayé (en vain jusque maintenant) de jouer avec
#FORMULAIRE_EDITER_ARTICLE
et #FORMULAIRE_JOINDRE_DOCUMENT
mais je n’ai pas abouti.

Quelqu’un pour me dépanner ?
Merci beaucoup d’avance

Manu


liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l’aide à toute heure : http://spip.net/irc

Le 05/12/2019 à 18:31, Josiane ALETTO a écrit :

regarde du coté de

Rédiger coté public - SPIP-Contrib

Oui, j'avais vu, mais ça ne répond pas à la question de pouvoir joindre un document lors de la création d'un article...

Salut,

Le 05/12/2019 à 18:38, Manu a écrit :

Le 05/12/2019 à 18:31, Josiane ALETTO a écrit :

regarde du coté de

Rédiger coté public - SPIP-Contrib

Oui, j'avais vu, mais ça ne répond pas à la question de pouvoir joindre un document lors de la création d'un article...

A la création, un article n'a pas d'id, donc c'est compliqué de lui joindre qqch (doc, logo...). Pour ça, je le fais en 2 temps : je crée l'article puis j'y joins ce que je veux (logo, mot-clefs, événements...)

                 jean marie

Le 06/12/2019 à 10:55, Jean Marie Grall a écrit :

Le 05/12/2019 à 18:38, Manu a écrit :

Le 05/12/2019 à 18:31, Josiane ALETTO a écrit :

regarde du coté de
Rédiger coté public - SPIP-Contrib

Oui, j'avais vu, mais ça ne répond pas à la question de pouvoir joindre un document lors de la création d'un article...

A la création, un article n'a pas d'id, donc c'est compliqué de lui joindre qqch (doc, logo...). Pour ça, je le fais en 2 temps : je crée l'article puis j'y joins ce que je veux (logo, mot-clefs, événements...)

Ce serait néanmoins intéressant de joindre le document d'emblée au moment de la création de l'article.
Perso j'ai ce besoin lors de la création d'un événement mais je n'ai pas encore assez cherché.
Sur contrib en tout cas, ça le fait bien avec les forums :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_galaxie_/www.spip-contrib.net/squelettes/2009/formulaires/forum.html

JL

Ce serait néanmoins intéressant de joindre le document d'emblée au moment de la création de l'article.
Perso j'ai ce besoin lors de la création d'un événement mais je n'ai pas encore assez cherché.
Sur contrib en tout cas, ça le fait bien avec les forums :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_galaxie_/www.spip-contrib.net/squelettes/2009/formulaires/forum.html

Il semblerait que ce soit possible mais je n'ai pas vraiment réussi à percer le mystère de ce qui est dit ici
https://forum.spip.net/fr_259387.html

Bonjour,

Pour charger un logo ou une image dans l'objet nouvellement créée dans la partie publique du site, je renvois l'url vers une autre page avec l'id de l'objet.. genre mon article et id_article=xx. Dans cette nouvelle page j'utilise le plugin upload HTML5..si ça peux te servir?

Bernard

Le 06/12/2019 à 12:49, Manu a écrit :

Ce serait néanmoins intéressant de joindre le document d'emblée au moment de la création de l'article.
Perso j'ai ce besoin lors de la création d'un événement mais je n'ai pas encore assez cherché.
Sur contrib en tout cas, ça le fait bien avec les forums :
https://zone.spip.net/trac/spip-zone/browser/spip-zone/_galaxie_/www.spip-contrib.net/squelettes/2009/formulaires/forum.html

Il semblerait que ce soit possible mais je n'ai pas vraiment réussi à percer le mystère de ce qui est dit ici
https://forum.spip.net/fr_259387.html

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Le 06/12/2019 à 15:07, Bernard Blazin a écrit :

Bonjour,

Pour charger un logo ou une image dans l'objet nouvellement créée dans la partie publique du site, je renvois l'url vers une autre page avec l'id de l'objet.. genre mon article et id_article=xx. Dans cette nouvelle page j'utilise le plugin upload HTML5..si ça peux te servir?

Ah, comment fais-tu pour connaître l'id de l'article nouvellement créé ?

Je ne fais rien de spécial, j’envoie une redirection direct sur mon objet.Das monc:
[(#SESSION{id_auteur}|oui)#FORMULAIRE_EDITER_RECENSEMENT{'',#URL_PAGE{renceimg},auteur|#SESSION{id_auteur}}][(#SESSION{id_auteur}|non)Vous devez être inscrit ou connecté pour recenser]
Le 06/12/2019 à 16:13, Manu a écrit :

Le 06/12/2019 à 15:07, Bernard Blazin a écrit :

Bonjour,

Pour charger un logo ou une image dans l'objet nouvellement créée dans la partie publique du site, je renvois l'url vers une autre page avec l'id de l'objet.. genre mon article et id_article=xx. Dans cette nouvelle page j'utilise le plugin upload HTML5..si ça peux te servir?

Ah, comment fais-tu pour connaître l'id de l'article nouvellement créé ?

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

C'est la technique en 2 temps dont je parlais : on crée l'article puis dans un 2nd temps, comme on connait son id, on peut rediriger sur une page qui permet de lui ajouter un logo, mot-clef ou autre

La redirection se fait avec le paramètre retour : Utiliser dans les pages publiques les formulaires CVT de l'espace privé - SPIP

             jean marie

Le 06/12/2019 à 17:43, Bernard Blazin a écrit :

Je ne fais rien de spécial, j’envoie une redirection direct sur mon objet.Das monc:
[(#SESSION{id_auteur}|oui)#FORMULAIRE_EDITER_RECENSEMENT{'',#URL_PAGE{renceimg},auteur|#SESSION{id_auteur}}][(#SESSION{id_auteur}|non)Vous devez être inscrit ou connecté pour recenser]
Le 06/12/2019 à 16:13, Manu a écrit :

Le 06/12/2019 à 15:07, Bernard Blazin a écrit :

Bonjour,

Pour charger un logo ou une image dans l'objet nouvellement créée dans la partie publique du site, je renvois l'url vers une autre page avec l'id de l'objet.. genre mon article et id_article=xx. Dans cette nouvelle page j'utilise le plugin upload HTML5..si ça peux te servir?

Ah, comment fais-tu pour connaître l'id de l'article nouvellement créé ?

Le 06/12/2019 à 18:52, Jean Marie Grall a écrit :

C'est la technique en 2 temps dont je parlais : on crée l'article puis dans un 2nd temps, comme on connait son id, on peut rediriger sur une page qui permet de lui ajouter un logo, mot-clef ou autre

La redirection se fait avec le paramètre retour : Utiliser dans les pages publiques les formulaires CVT de l'espace privé - SPIP

Ouh la la, il y a un maillon qui m'échappe...
Depuis l'espace public, l'appel au formulaire est de la forme
#FORMULAIRE_EDITER_ARTICLE{nouveau,'numéro de la rubrique', retour}
Je ne vois pas comment - toujours depuis l'espace public - on fait pour récupérer l'id_article de l'article que l'internaute vient de créer pour
pouvoir alimenter le formulaire d'upload...
#FORMULAIRE_JOINDRE_DOCUMENT{new,#ID_ARTICLE,article}

Quelqu'un pourrait m'éclairer ?

Je ne suis pas certain de ce que je vais t'annoncer mais quand je fais un plugin objet comme cela doit être pour article, je ne mets pas de new dans l'appel à la nouvelle page de redirection d'upload. mais bon si je peux t'aiter, ce sera avec plaisir!
As tu essayé juste cette méthode dans l'appel ce qui signifie sans doute un bouton supplémentaire:
#FORMULAIRE_JOINDRE_DOCUMENT{'',#URL_PAGE{mapage_upload},auteur|#SESSION{id_auteur}}
Je ne suis pas certain également que l'id_auteur soit nécessaire dans ton cas.. Mais bon voilà, il y a bien longtemps que je n'ai pas travaillé là-dessus, c'est la retraite qui veut ça!!
Bon courage,

Bernard

Le 07/12/2019 à 09:49, Manu a écrit :

Le 06/12/2019 à 18:52, Jean Marie Grall a écrit :

C'est la technique en 2 temps dont je parlais : on crée l'article puis dans un 2nd temps, comme on connait son id, on peut rediriger sur une page qui permet de lui ajouter un logo, mot-clef ou autre

La redirection se fait avec le paramètre retour : Utiliser dans les pages publiques les formulaires CVT de l'espace privé - SPIP

Ouh la la, il y a un maillon qui m'échappe...
Depuis l'espace public, l'appel au formulaire est de la forme
#FORMULAIRE_EDITER_ARTICLE{nouveau,'numéro de la rubrique', retour}
Je ne vois pas comment - toujours depuis l'espace public - on fait pour récupérer l'id_article de l'article que l'internaute vient de créer pour
pouvoir alimenter le formulaire d'upload...
#FORMULAIRE_JOINDRE_DOCUMENT{new,#ID_ARTICLE,article}

Quelqu'un pourrait m'éclairer ?

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Archives : https://www.mail-archive.com/spip@rezo.net/maillist.html

Infos : https://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Hello,

Le 07/12/2019 à 09:49, Manu a écrit :

Le 06/12/2019 à 18:52, Jean Marie Grall a écrit :

C'est la technique en 2 temps dont je parlais : on crée l'article puis dans un 2nd temps, comme on connait son id, on peut rediriger sur une page qui permet de lui ajouter un logo, mot-clef ou autre

La redirection se fait avec le paramètre retour : Utiliser dans les pages publiques les formulaires CVT de l'espace privé - SPIP

Ouh la la, il y a un maillon qui m'échappe...
Depuis l'espace public, l'appel au formulaire est de la forme
#FORMULAIRE_EDITER_ARTICLE{nouveau,'numéro de la rubrique', retour}
Je ne vois pas comment - toujours depuis l'espace public - on fait pour récupérer l'id_article de l'article que l'internaute vient de créer pour
pouvoir alimenter le formulaire d'upload...
#FORMULAIRE_JOINDRE_DOCUMENT{new,#ID_ARTICLE,article}

De mémoire, parce que ça fait un moment et que je le fait via la fonction formulaires_editer_article_traiter ( https://code.spip.net/autodoc/tree/prive/formulaires/editer_article.php.html#function_formulaires_editer_article_traiter_dist ), lorsque tu mets une url en "retour", l'id_article est automatiquement passé.

Donc, dans ton squelette de création d'article, essaye un truc du genre : #FORMULAIRE_EDITER_ARTICLE_PUBLIC{new, 1, '?page=ajouter-document'} (1 étant la rubrique dans laquelle sera créé l'article et ?page=ajouter-document la page de redirection une fois le formulaire validé).

Ça devrait t'envoyer vers une url ?page=ajouter-document&id_article=XXX

Ensuite, dans ton squelette ajouter-document, un truc du genre #FORMULAIRE_JOINDRE_DOCUMENT{new,#ENV{id_article},article}

                         jean marie

Le 07/12/2019 à 14:42, Jean Marie Grall a écrit :

), lorsque tu mets une url en "retour", l'id_article est automatiquement passé.

Ah, c'est donc ça le "truc" magique !
C'est nickel : merci +++++++

Avec un rechargement ajax, ça devrait être assez fluide/ergonomique/transparent pour l'internaute. C'est possible, ça, de ne pas quitter la page de création d'article et de recharger en ajax la partie formulaire pour que le formulaire d'uplaod d'image prenne le relais ?

Pour mon info perso, quelle est la différence entre #FORMULAIRE_EDITER_ARTICLE
et #FORMULAIRE_EDITER_ARTICLE_PUBLIC ?

Le 07/12/2019 à 15:29, Manu a écrit :

Le 07/12/2019 à 14:42, Jean Marie Grall a écrit :

), lorsque tu mets une url en "retour", l'id_article est automatiquement passé.

Ah, c'est donc ça le "truc" magique !

A confirmer hein, je dis tout ça "de mémoire" :slight_smile:

Pour mon info perso, quelle est la différence entre #FORMULAIRE_EDITER_ARTICLE
et #FORMULAIRE_EDITER_ARTICLE_PUBLIC ?

N'en tiens pas compte, je n'utilise pas certains champs, donc j'ai copié #FORMULAIRE_EDITER_ARTICLE

                 jean marie