[ar] [ca] [cpf] [de] [en] [es] [fr] [it]

Ce forum d’entraide est recommandé pour les utilisateurs et utilisatrices occasionnels de SPIP (Système de publication pour l’Internet). Avant de poser une question, faites une recherche sur ce site, consultez les liens utiles. Si vous ne trouvez pas de réponse, postez votre message dans la rubrique appropriée, avec un titre explicite.

Sujets : 24111 Sujets résolus :  39 %

67 visiteurs en ce moment


Editable dans un formulaire CVT

par Melodie - 10 août 2010 17:45 - Réponse(s) : 9

Bonjour,

Je développe un plugin et j’utilise un formulaire CVT.
Dans le php (/formulaires/form1.php), après traitement du formulaire CVT : j’affiche un message de succès et je ne veux plus ré afficher le formulaire.

Pour faire cela j’utilise editable mais cela ne fonctionne pas. Il faut savoir que dans le html (/formulaires/form1.html), il y a un renvoi de messages erreurs et des boucles.

Dans un de mes anciens formulaire CVT j’ai remarqué que lorsqu’on mettait des boucles SPIP dans notre fichier html, cela faisait planter le editable. Pour contourner cela je plaçais plusieurs editable autour des boucles.

Savez vous qu’elles instructions sont susceptibles de faire planter l’editable mis à part les boucles ?


  • #1 > Editable dans un formulaire CVT ˆ
    par $quirrel - 12 août 2010 21:42

    Je ne suis pas sur que c’est la solution, je n’est pas tester. Mais à vu d’oeil, peut être que tu devrais utiliser #AUTORISER au lien de #EDITABLE

    OU

    [(#SESSIONstatut|==6forum|oui)
    Bonjour, je suis un formulaire !
    ]


  • < #2 > Editable dans un formulaire CVT ˆ
    par $quirrel - 12 août 2010 21:42

    Je ne suis pas sur que c’est la solution, je n’est pas tester. Mais à vu d’oeil, peut être que tu devrais utiliser #AUTORISER au lien de #EDITABLE

    OU

    1. [(#SESSION{statut}|=={6forum}|oui)
    2. Bonjour, je suis un formulaire!
    3. ]

    Télécharger


  • Merci d’avoir pris le temps de répondre mais je ne comprends pas ta solution. Utiliser #AUTORISER plutôt que #EDITABLE, mais pourquoi utilises-tu #SESSION dans ton exemple ? Peux-tu approfondir ton raisonnement stp ?

    Il s’agit d’un plugin contenant un formulaire CVT accessible seulement en partie privée.

    dans form1.html j’ai :

    1. [(#EDITABLE|oui)
    2. Voici mon formulaire
    3. </form>
    4. ]

    Télécharger

    dans form1.php

    A la fin du traitement j’ai :

    1. return array(
    2. 'editable'=>false,
    3. 'message_ok'=>'Votre enregistrement a bien été confirmé.'
    4. );

    Télécharger

    Le problème est que le message d’erreur s’affiche bien mais le formulaire reste chargé.


  • * Le problème est que le message de succès s’affiche bien mais le formulaire est rechargé.


  • < #5 > Editable dans un formulaire CVT ˆ
    par $quirrel - 15 août 2010 11:07

    Ah d’accord ! Dans le privé !

    Tu veux dire que ton formulaire ne se valide pas ? As tu indiqué l’action avec env ? Que fait ton formulaire ?

    Va voir le dossier /prive/formulaires/editer_article.html et prive/editer/article.html, c’est un très bon exemple.

    1. [(#EDITABLE|oui)
    2.  
    3. <form action='#ENV{action}' method='post' name="formulaire" onsubmit="return OnSubmitForm();">
    4. #ACTION_FORMULAIRE{#ENV{action}}
    5. Voici mon formulaire
    6.  
    7. </form>
    8.  
    9. ]

    Télécharger

    Comment appel tu ton formulaire ? Parceque dans les paramètres tu peux mettre une url de retour genre #SELF

    Avec

    1. #FORMULAIRE{#ENV{paramètres}, ...}

    Lien connexe :
    http://programmer.spip.org/Actions-editer_-objet


  • Merci pour ta réponse.
    Sinon oui j’ai bien mis le action. D’ailleurs le CVT fonctionne très bien. C’est juste que je n’arrive pas à "cacher le formulaire" après sa validation. Celui-ci se recharge avec les champs validés ; le editable n’a pas l’air de fonctionner.
    Par contre je n’ai pas mis de paramètre #SELF, c’est pour les redirections non ? Moi j’ai surtout besoin de rentre le formulaire non editable après que celui-ci ai été validé.


  • < #7 > Editable dans un formulaire CVT ˆ
    par yasean - 21 avril 2011 16:06

    Bonjour

    j’essaye de mettre en œuvre un formulaire d’ajout d’entreprise, ma table entreprise n’est po accessible par ma fonction traiter pour insérer les champs, sachant que ma table est une table externe ce qui veut dire que c’est moi qui l’a créé mais je l’es mis dans la même base Spip.
    voila mon fichier ajoutent.php

    1. <?php
    2.  
    3. function formulaires_ajoutent_charger_dist(){
    4. $valeurs = array();
    5. $valeurs['noment'] = '';
    6. $valeurs['adresse'] = '';
    7. $valeurs['tel'] = '';
    8. $valeurs['email'] = '';
    9. return $valeurs;
    10. }
    11.  
    12.  
    13. function formulaires_ajoutent_verifier_dist(){
    14. $erreurs = array();
    15. // verifier que les champs obligatoires sont bien la :
    16. foreach(array('noment','email') as $obligatoire)
    17. if (!_request($obligatoire)) $erreurs[$obligatoire] = 'Ce champ est obligatoire';
    18.  
    19. // verifier que si un email a été saisi, il est bien valide :
    20. include_spip('inc/filtres');
    21. if (_request('email') AND !email_valide(_request('email')))
    22. $erreurs['email'] = 'Cet email n\'est pas valide';
    23.  
    24. if (count($erreurs))
    25. $erreurs['message_erreur'] = 'Votre saisie contient des erreurs !';
    26. return $erreurs;
    27. }
    28.  
    29.  
    30. function formulaires_ajoutent_traiter_dist() {
    31. $res = array();
    32. $noment = _request('noment');
    33. $adresse = _request('adresse');
    34. $tel = _request('tel');
    35. $email = _request('email');
    36.  
    37. include_spip('action/ajouter_entreprise');
    38. if ($ident = insert_entreprise()) {
    39. entreprise_set($ident,array('noment'=>$noment,'adresse'=>$adresse,'tel'=>$tel,'email'=>$email ));
    40. $res['message_ok'] = "Enregistrement réussi !";
    41. $res['ident'] = $ident;
    42. }
    43. else
    44. $res['message_erreur'] = "Un probleme a été rencontré, impossible d'enregistrer votre saisie";
    45.  
    46. return $res;
    47.  
    48. }
    49. ?>

    Télécharger

    ca me donne une erreur a la ligne 38

    Merci d’avance pour votre temps !


  • < #8 > Editable dans un formulaire CVT ˆ
    par Michel - 2 septembre 2011 16:26

    Bonjour,
    tu ne peux pas mettre de boucle dans un filtre de test.
    il suffit de remplacer

    1. [(#ENV{editable})
    2. mon formulaire
    3. ]

    Télécharger

    par une boucle condition de spip_bonux

    1. <BOUCLE_editable(CONDITION){si #ENV{editable}}>
    2. mon formulaire
    3. </BOUCLE_editable>

    Télécharger


  • < #9 Editable dans un formulaire CVT ˆ
    par Alioune - 5 septembre 2011 22:35

    BONJOUR
    JE SUIS DE DAKAR
    Je veux ouvrir une agence immobiliere trés différent de ce qui existe à dakar et un peu partout dans le monde.
    En effet je pense à une agence avec un site web : je film les maisons à louer et je les insert sur le site web . ainsi ce qui seront interressé n’auront pas besoin de se déplacer pour visiter les maisons ou appartement à louer. et pour chaque maison loué j’aurai une cotion ( prime) .et je gérai ces derniers comme le font tous les agences , comme ca à chaque fin du mois j’aurrai une part sur chaque location.
    Un site qui pourra cartonner au sénégal puis sur le continent et petit à petit on ciblera les pays occidentaux.
    JE CHERCHE UN WEBMASTER INTERRESSE PAR CE PROJET AFIN DE POUVOIR M ASSOCIER AVEC LUI
    papeandiaye2003@yahoo.fr




Répondre à la question

« Editable dans un formulaire CVT »

Mots-clés

Vous pouvez étiqueter cette page de forum avec les mots-clés qui vous semblent les plus appropriés ; ils permettront aux prochains visiteurs du site de mieux se repérer :


Installation, mise à jour

Utilisation de l’espace privé

Administration, gestion, configuration du site

Créer ses squelettes

Qui êtes-vous ?