Zend Framework :Envoi d une variable de la vue vers le controlle

Fermé
victoria ghabri Messages postés 95 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 3 juin 2014 - 28 juin 2013 à 17:42
victoria ghabri Messages postés 95 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 3 juin 2014 - 1 juil. 2013 à 13:51
Bonjour,
Comment je peut envoyer une variable de ma vue vers le controlleur ,je veu l utiliser dans le controlleur "properties" ,dans l action "tasktodo".

*******************************
vue : envoi de la variable : BB (que je ne connait pas comment )
*******************************

function popup1(message) {
var answer = confirm ("You are in the good address ");
if (answer)
{window.location = "<?php echo $this->url(array('controller'=>'properties', "action" => "tasktodo","Address" => $property->Address ), null, true);?>";

}
else
alert ("Sorry bad address ");
}

********************************
Contolleur : reception de BB
*********************************
$var = $this->_request->getParam('BB');

A voir également:

2 réponses

theshadoo Messages postés 786 Date d'inscription samedi 26 mai 2007 Statut Membre Dernière intervention 3 mai 2016 123
Modifié par theshadoo le 29/06/2013 à 14:43
depuis la vue tu peux appeler ce type de méthode par exemple :

$this->action('action', 'controller', 'module');

Rappelle toi par contre que la vue ne doit pas faire office de controller et que l'on doit garder une architecture MVC !

L'appelle d'un autre controller ou méthode depuis une vue cela peut être différent que de vouloir passer une variable depuis la vue à un controller.
En tous les cas si c'est pour un appelle d'un controller et méthode différente depuis une vue différente alors la méthode action de la vue est là bonne méthode
0
victoria ghabri Messages postés 95 Date d'inscription jeudi 27 septembre 2012 Statut Membre Dernière intervention 3 juin 2014 5
1 juil. 2013 à 13:51
Bonjour
J ai fait quelques rectifications :
Mais j ai un noveua probleme ,j ai utilise ajax pour envoyer une variable ,la fonction success marche bien ,cad que la variable a ete bien envoye au controller ,mais je n arrive pas a recuperer cette variable au niveau du controller .Voila un petit apercus sur le code :
Au niveau de la vue :
*********************************
$.ajax({
type: "POST",
url: "<?php echo $this->url(array('controller' => 'properties', "action" => "tasktodo")); ?>",

// url: "C:/wamp/www/pm-sys-03/application/controllers/PropertiesController.php",

// data: "variable1=" + somevar1 + "\variable2="+ somevar2,
data: somevar1 ,

success: function(msg)
{ alert("bbbbb");
alert(somevar1);
window.location = "<?php echo $this->url(array('controller'=>'properties', "action" => "tasktodo","Address" => $property->Address), null, true);?>";

}
});


//}
//else

//alert ("Sorry bad address ");

}
**************************************

Au niveau du controller
*********************
public function tasktodoAction()
{
// page title
$this->view->page_heading = "Tasks To Do ";

//get the address field from the previous view
$adr = $this->_request->getParam('Address');

//send the address field to the next view: tasktodo
$this->view->address=$adr;

$count=0;
$this->view->nb=$count;


if($this->getRequest()->isPost())
{ echo "nnnnnn";
if (isset($_POST['variable1']))
{
$this->getRequest()->isPost();
$value=$_POST['variable1'];



}
}
$k=$this->_request->getParam('somevar1');
//echo "55555555".$k ."7777777777777";
$loc=new Application_Model_DbTable_Location();
//$loc->insert(array( "address" => $_POST['variable1']));


//insertion dans la base de donnes

}
0