Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 24-07-2007 10:34:41

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Appel d'action sans vue associé

Dans mon controller, je créé une fonction ajouter (qui permet dajouter 2 variable dans un tableau en session), dans une vue lorsuqe je fais appel a cette fonction, je ne veux pas que cette action soit associé a une vue. Je veux que lorsque je clique sur le lien pour ajouter, il ne se "passe rien" au niveau visuel, juste que l'action s'effectu

Hors ligne

 

#2 24-07-2007 10:45:20

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Appel d'action sans vue associé

Ajouteca dans ton action   

Code:

$this->_helper->viewRenderer->setNoRender();

Hors ligne

 

#3 24-07-2007 10:51:56

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Re: Appel d'action sans vue associé

c'a m'emmène quand meme à l'adresse du lien, avec une page blanche, il ne charge pas la vue

Code:

<a href="/gestion/ajouter?id=1&intitule=hello" > Ajouter </a>

quand je clique sur ajouter, avec ce que tu m'a donné, car me rend sur mon-site.fr/gestion/ajouter?id=1&intitule=hello, et c'est une page blanche

Dernière modification par leroidje (24-07-2007 10:55:26)

Hors ligne

 

#4 24-07-2007 10:55:16

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Appel d'action sans vue associé

bah un lien ca emene toujours vers le lien... Ca, c'est au niveau html. Après tu as plusieurs facon de contourner ce pb... Soit tu met une iframe bidon en target, soit tu fais de l'ajax, etc...

Hors ligne

 

#5 24-07-2007 11:05:32

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Re: Appel d'action sans vue associé

ca marcherai de faire une fonction javascript qui appelle le code php ?

Hors ligne

 

#6 24-07-2007 11:14:12

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Appel d'action sans vue associé

le javascript appel une ressource sur le  serveur web, la techno qui est deriere le fichier n'a aucune importance.
ca peut etre apache dans le cas d'une image ou d'une ressource static comme les css ou js ou meme du html simple.
Ca peut etre php ou n'importe quelle langage qui sera executé par le serveur web pour servir n'importe quelle type de réponse, de l'image, du json, du html, du js ou du css.

Hors ligne

 

#7 24-07-2007 11:19:04

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Re: Appel d'action sans vue associé

peux tu m'aider car je ne connais pas beaucoup le javascript...stp ?

Je suis perdu, car j'ai fait une class gestion (avec un constructeur, une fonction ajouter et une supprimer), ensuite dans un controlleur, j'ai une fonction ajouter(qui récupere les valeur GET, qui créé une instance de gestion et qui fait la fonction add). Et dans une vue d'un autre controlleur, je fais un lien en passant les valeur en get pour l'action du controlleur

Dernière modification par leroidje (24-07-2007 11:41:18)

Hors ligne

 

#8 24-07-2007 11:44:27

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Appel d'action sans vue associé

Si tu ne connais pas le javascript, c'est le moment de t'y mettre smile.
Maintenant, faire du ajax pour ca, meme si ajax est a la mode, je trouve que c'est un peu superflu.

essai de faire kk chose comme ca.

Code:

<iframe name="bidon" style='display:none'></iframe>  // iframe de nom bidon et non affichée
<a href="lelienverstapage.php" target="bidon">             // Un lien dont le résultat est affiché dans la iframe de non bidon (et donc pas visible)

ca fera la meme chose et c'est beaucoup plus simple.

Dernière modification par TiTerm (24-07-2007 11:45:10)

Hors ligne

 

#9 24-07-2007 11:51:39

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Re: Appel d'action sans vue associé

Merci c'est exactement ce que je voulais!!!
Et comme tu dis je vais me plonger dans js et ajax car je suis vraiment trop debutant la dedans wink

Hors ligne

 

#10 24-07-2007 16:39:59

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Re: Appel d'action sans vue associé

J'ai une autre question, quand j'affiche le contenu de la variable $_SESSION['gestion'], j'ai fais un lien (de la meme manière que tout à l'heure), mais pour cette fois vider le tableau.
Le probleme c'est que pour voir le changement, il faut actualiser la page, ce qui est un peu embetant, comment faire pour que voir directement le resultat ?

lien pour vider

Code:

<iframe name="supprimer" style='display:none'></iframe>
<a href="<?php echo $this->baseUrl; ?>/gestion/effacer" target="supprimer" > Vider </a>

action du controlleur

Code:

function effacerAction()
    {
        $gestion = new Gestion;
        $gestion->removeAll();
}

fonction remove

Code:

function removeAll()
    {
        unset($_SESSION['gestion']);
    }

Dernière modification par leroidje (24-07-2007 17:26:13)

Hors ligne

 

#11 24-07-2007 18:04:42

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Appel d'action sans vue associé

Déjà, une seule iframe en display none pour ta page, puisque de tte facon, ce que tu met vers cette iframe ne doit pas s'afficher.

Ensuite, si tu ne veux pas afficher kk chose, tu pointes sur cette iframe via target, si tu veux afficher kk chose, ne ne met pas de target.

Dans ton cas, gestion/effacer doit afficher le resultat, mais ce n'est pas cette fonction qui affiche le contenu de ta page si j'ai bien compris. ton controller/action gestion/effacer ne fait que du traitement.

Dans ce cas, il faut dire a cette action qu'après avoir effacer la session, il faut réafficher la page

Code:

function effacerAction() {
 $gestion = new Gestion();
 $gestion->removeAll();
 $this->_forward('tonActionQuiAffcheLaPage', 'LeControllerQuiContientLactionQuiAfficheLaPage'); // si c'est le meme controller que le courant, il n'est pas utile de le spécifier
}

Bien entendu, il ne faut plus mettre dans le lien la target vers le iframe pour l'action /gestion/effacer

Dernière modification par TiTerm (24-07-2007 18:05:39)

Hors ligne

 

#12 25-07-2007 15:31:30

ndesaleux
Membre
Date d'inscription: 16-04-2007
Messages: 196
Site web

Re: Appel d'action sans vue associé

PS : pourquoi ne pas mettre un $this->_redirect vers la page appelante ca te mettre de ne pas avoir de iframe, je trouve que l'iframe est une plus une rustine dans ton cas.

En gros, ca fera :
ta page appelante
-> ton action sans vue
-> ta page appelante.

Il suffit de garder en mémoire l'url de ta page appelante, je trouve cela plus propre mais bon c'est que mon av is

Hors ligne

 

#13 26-07-2007 09:44:58

leroidje
Membre
Date d'inscription: 16-07-2007
Messages: 17

Re: Appel d'action sans vue associé

Merci pour vos réponses, les 2 fonctionnent sans les iframe wink

Hors ligne

 

#14 26-07-2007 13:07:41

TiTerm
Membre
Date d'inscription: 01-07-2007
Messages: 175

Re: Appel d'action sans vue associé

J'avais cru comprendre que tu ne souhaitais pas recharger la page, mais apparement, non. Du coup, effectivement, c'est plus simple sans iframe.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages