Bonjour,

Je dois développer une application web avec la librairie php-ext ( http://php-ext.quimera-solutions.com/ ) qui génère du code EXTJS ( http://extjs.com/ ). On est donc, si je ne me trompe pas, en présence d'ajax .

Le projet que je dois réaliser est visible ici: http://immobilier.bluesys.ch/

Comme vous pouvez le voir à gauche, nous avons une navigation à la outlook. L'objectif est que lorsque on choisis une catégorie, le dataGrid du milieu se met à jour. Pour se faire, nous devons utiliser les "listeners". Voulant aller par étape, j'essaie déjà d'afficher une alert, dont voici le code qui figure sur la catégorie "objets immobiliers":

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
// panel 2 //Voir listener
$p2Element = PhpExt_Element::getById('p2E');
$p2 = new PhpExt_Panel();
$p2->setHtml('<p>Some settings in here.</p>')
   ->setTitle("Objets immobiliers")
   ->setBorder(false)
   ->setIconCssClass("settings")
   ->attachListener(null,
		 	 new PhpExt_Listener(PhpExt_Javascript::functionDef(null, 
		 	 	$p2Lister,
		 	 	 array("test"))));
 
$p2Lister = PhpExt_Javascript::functionDef(null, 
    PhpExt_MessageBox::alert("Status","Changes saved successfully.", PhpExt_Javascript::variable('showResult')) 
    );
 
$west->addItem($p2);
Et qui est appeller en fin du code de cette manière:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
echo PhpExt_Ext::OnReady(
	$viewport->getJavascript(false, "v"),
	$viewport->render("viewport"),
	$store->getJavascript(false, "store"),
	$grid->getJavascript(false, "grid"),
	$grid->render("gridPrincipal"),
	$p2Element->on("click", $p2Lister),
	$store->load()	
);
Mais comme vous avez pu le voir en cliquant sur le lien, ma page s'affiche d'une par, 2x. et d'une autre part, aucune alert ne s'affiche lorsque on clique sur la catégorie "objets immobiliers". Cependant, le code générer et exécuter est conçu comme ça:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Ext.Element.get('p2E').on('click',function() {
 Ext.Msg.alert('Status','Changes saved successfully.',showResult)
 });
apparemment c'est p2E, qui si on regarde mon code du dessus, ne correspond pas à mon panel.

Comment réparer cette errereur afin d'avoir une msgAlert lorsque je clic sur la catégorie?

Je vous remercie de l'attention porté à mon message.


Kmel