Enregistrement de formulaire

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Enregistrement de formulaire

    Bonjour,

    j'ai plusieurs formulaires qui seront traîtes de façon assez semblable, mais qui nécessitent néanmoins des traitements individuels. J'ai tenté à maintes reprises d'appliquer La solution de la docu., mais ce qu'on suggère là, c'est pour le fichier controller. Je ne peux pas mettre ces méthodes à mon controller, parce que - comme écrit ci-haut - je veux traitements un peu différents pour chacun.

    Voici quelques détails: j'ai quatre formulaires, définis en xml dans autant de fichiers dans ../models/forms
    Les champs sont bien renseignés, car tout fonctionne bien pour afficher les données d'un enregistrement lorsque je fais un "bind" pour l'édition du-dit enreg.

    Ce que je veux faire, c'est un fichier de traitement pour chaque formulaire.
    Il me semble que je devrais pouvoir faire quelque chose comme on voit dans la docu:
    bind($data)
    puis store()

    Et bien non! je suis incapable de lui faire avaler le formulaire XML.
    LoadForm me retourne toujours: méthode non défnie.

    Voici en gros ma méthode:

    après traitement (JRequest et addslashes) des données reçues en $_POST, je voudrais avoir quelque chose de simple comme
    Fichier controller.php
    Code PHP:
    //je vous fais grâce des autres éléments
    function sauve() {
        require_once 
    JPATH_COMPONENT."/helpers/".$_POST["view"].".php";
        
    $post JRequest::get('post');
        
    BetsportModelEnreg::sauve($posttrue);

    Voyez ce $_POST["view"] ... c'est là que j'appelle les traitements spécifiques par leur nom. Ça vient d'un <input type="hidden"> que je plante dans chaque formulaire d'édition. Ainsi: un seul traitement des "publish", "unpublish", "save" et "cancel", peu importe de quel formulaire ça vient.


    fichier de traitement spécifique à un formulaire
    Code PHP:
    class BetsportEnregistre extends JModelForm  {

        public function 
    sauve($data = array(), $loadData true$quel 'competitions_ajout') {
            
    $this->form $this->loadForm('com_betsport.models'$quel, array('control' => 'jform''load_data' => $loadData));
            
    $fields $this->form->getFieldsets();
            
    $this->form->bind($data);
            if (;
        }

    Il me semble que ce doit être possible! Non?

    Merci à l'avance pour votre aide.

Annonce

Réduire
Aucune annonce pour le moment.

Partenaire de l'association

Réduire

Hébergeur Web PlanetHoster
Travaille ...
X