Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 22-05-2008 00:24:41

garvek
Nouveau membre
Date d'inscription: 22-05-2008
Messages: 2

[resolu] Layouts, redirections et Prototype

Bonjour,

je débute sur Zend et Ajax, et j'essaie de rendre une page chargée via XHttpRemote dans un div, mais pour une raison qui m'échappe, les manipulations décrites en http://www.z-f.fr/forum/viewtopic.php?pid=6823 ne marchent pas: la requête est bien détectée en tant qu'ajax mais le layout s'obstine à s'afficher et à rechercher le fichier template avec l'extension .phtml (pas d'ajax ni xml devant).

est ce que cela pourrait venir du bootstrap ?

voici un extrait de ce dernier:

Code:

/* Init View Helper */
$view = new Zend_View();
$view->addHelperPath(HELPER_DIR, APP_NAME . '_View_Helper');
$view->strictVars();
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('ViewRenderer');
$viewRenderer->setView($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
$view = null;
$viewRenderer = null;

/* Init Layout */
Zend_Layout::startMvc(array('layoutPath' => LAYOUT_DIR));

pour le rendu en ajax j'ai cette page en contrôleur:

Code:

class MenuController extends Zend_Controller_Action
{
    public $ajaxable = array( 
        'index' => array('html'),
        'maxime' => array('xml'),
    );
    
    public function init()
    {
        $ajaxContext = $this->_helper->getHelper('AjaxContext');
        $ajaxContext->initContext();
    }
    
    
    public function indexAction()
    {
        $la = $this->view->placeholder('Zend_Layout');
        $la->scripts = array('prototype/prototype', 'scriptaculous/scriptaculous');
        //$this->render();
    }
    

    public function maximeAction()
    {
        if (!$this->_request->isXmlHttpRequest())
        {
            $this->_redirect("index/index");
        }
        $this->view->text = "Un texte à insérer";
    }
}

pour la page html j'ai:

Code:

    new Ajax.Updater("mxm1_c", "<?php echo BASE_URL ?>menu/maxime", {
        method: 'get',
        encoding: 'ISO8859-15',
        onSuccess: function(transport) {
            var response = transport.responseText || "no response text";
            alert("Success! \n\n" + response);
        }
    });

Est ce que quelqu'un aurait une idée ?

Merci d'avance.

Dernière modification par garvek (23-05-2008 08:02:35)

Hors ligne

 

#2 22-05-2008 09:44:14

or4cle
Membre
Date d'inscription: 18-02-2008
Messages: 70

Re: [resolu] Layouts, redirections et Prototype

Salut

Tu as oublié de précisé dans ton appel de l'url "menu/maxime" dans quel contexte tu souhaites l'utiliser.
Par défaut, ZF exécute le context normal donc il désactive pas le layout (si utilisé) et il cherche nomAction..phtml

Fait çà

Code:

    new Ajax.Updater("mxm1_c", "<?php echo BASE_URL ?>menu/maxime/?format=xml", {
        method: 'get',
        encoding: 'ISO8859-15',
        onSuccess: function(transport) {
            var response = transport.responseText || "no response text";
            alert("Success! \n\n" + response);
        }
    });

ou bien :
"menu/maxime/format/xml"

Dernière modification par or4cle (22-05-2008 09:44:30)

Hors ligne

 

#3 22-05-2008 13:59:15

garvek
Nouveau membre
Date d'inscription: 22-05-2008
Messages: 2

Re: [resolu] Layouts, redirections et Prototype

J'ai fait la modification, et maintenant ça marche (avec ?format=xml, /xml ne marche pas chez moi). J'ai un popup avec le contenu de la page renvoyée par Ajax. Par contre le contenu est renvoyé en UTF-8, donc il doit manquer quelque chose au niveau bootstrap.

En tous cas merci pour les précisions !

EDIT/ j'ai essayé d'ajouter $view->setEncoding("ISO8859-15") dans le bootstrap, ça n'a rien donné. Tant pis je vais bien finir par trouver ^^

Dernière modification par garvek (23-05-2008 08:02:05)

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