Envoyer des données (synchrone)

Publié le : 10-10-2018 09:03

Comportement : Envoyer des données de l'interface utilisateur au controleur synchrone

Balise(s) acceptée(s) : form

 

Fonctionnement(s) :

Remplacer une méthode nativement appelée par la page. En appelant une des méthodes de la classe mod. Cette même méthode devra en fin de traitement d'altération, appelée une méthode de la classe vue de ce module (ou d'un autre en cas de références croisées (déconseillé)).

Cas pratique :

Dans le html de la page :

<form id="form_step_1" method="post" action="panier">
	<input name="step" type="hidden" value="1" />
	<input name="synch_action" type="hidden" value="set" />
	<input name="synch_module" type="hidden" value="Shop" />
	<input name="synch_method" type="hidden" value="Buyer" />
	<input name="synch_overwrite_method" type="hidden" value="Basket" />
	<button id="btn_paye" name="send" type="submit"></button>
</form>
  • synch_action définit si la méthode à surcharger sera de type get (une méthode de la classe vue du modèle) ou set (une méthode de la classe mod du modèle)
  • synch_module définit le module cible à surcharger
  • synch_method définit la méthode de remplacement à appeler
  • synch_overwrite_method définit la méthode cible à surcharger
  • Attribut method en post

L'action lors de l'appel de la page "panier" sera ici de surcharger la 4 eme ligne (Shop/Basket):

$Areas = array(
	array(MODULE => "Master_Page", METHOD=> "Header", TARGET=>"root"),
	array(MODULE => "Menu", METHOD=> "Menu_User", TARGET=>"Area_Menu"),
	array(MODULE => "Master_Page", METHOD=> "Pop_Up", TARGET=>"Area_Messages"),
	array(MODULE => "Shop", METHOD=> "Basket", TARGET=>"Area_Body"),
	array(MODULE => "Footer", METHOD=> "Footer", TARGET=>"Area_Footer"),
	array(MODULE => "Master_Page", METHOD=> "Scripts", TARGET=>"end")
);

 Pour retourner une Vue après l'appel d'un Mod trois solutions :

 1. Appeler directement la Vue::Methode du module concerné

return Vue::Get_Basket($in_Params,$in_D,$in_C,$in_U);	

 2. Appeler la Vue::Methode via l'objet de Configuration (contrôle des droits et historisation pour redirection sur cette même page en cas d'erreurs lors de la saisie d'un champ par un utilisateur)

$in_C->Get_Module_Vue("Shop","Basket",$in_Params,$in_D,$in_U);

3. Appeler la/les Vue::Methode d'un ou de plusieurs autres modules via l'objet de configuration mais en références croisées

$Output = $in_C->Get_Module_Vue_For_Cross_Reference('Menu','Menu_User',$in_Params,$in_D,$in_U);	
$Output .= $in_C->Get_Module_Vue_For_Cross_Reference('Dashboard','Dashboard',$in_Params,$in_D,$in_U);	
return $Output;