Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
J'utilise depuis peux JQuery dans ZendFramework.
J'ai juste un petit soucis pour comprendre comment ca marche ;-{
Je voudrais que des données dans un cadre s'affiche lorsque je charge la page mais indépendamment des autres parti de la page (menu, layout..).
Mon controller controller/BoardController.php :
<?php class BoardController extends Zend_Controller_Action { public function init() { /* Initialize action controller here */ //si requete ajax on déctive les layouts /* if($this->_request->isXmlHttpRequest()){ $this->_helper->layout->disableLayout(); //disable layout for ajax } */ } public function listAction() { // action body $this->view->title = "board Lists"; $this->view->headTitle($this->view->title,'PREPEND'); } public function lastentryAction() { Zend_Debug::dump("Ca passe ici "); return "test Ajax"; }
Ma vue views/scripts/board/list.phtml:
<div class="banner_title"> <span>Board</span> </div> <?php echo $this->ajaxLink('LastEntry', 'TPPManager/public/board/lastentry', array('update'=>'#Last_Entry', 'noscript' => false, 'method' => 'POST')); ?> <div id="Last_Entry">
Mon Bootstrap.php
.... function _initViewHelpers() { $this->bootstrap('layout'); $layout = $this->getResource('layout'); $view = $layout->getView(); $view->doctype('XHTML1_STRICT'); $view->headMeta()->appendHttpEquiv('Content-Type','text/html;charset=utf-8'); $view->headTitle()->setSeparator(' - '); $view->headTitle('Third Party Products Management'); // For JQuery $view->addHelperPath("ZendX/JQuery/View/Helper", "ZendX_JQuery_View_Helper"); // $view->jQuery()->enable(); // $view->jQuery()->uiEnable(); } ....
mon layout layouts/layout.phtml
... <?php echo $this->headScript(); ?> <?php //TODO Change ?> <?php echo $this->jQuery(); ?> </head> ...
Comment faire pour appeler directement l'action 'lastentryAction' du controller 'BoardController' lorsqu'on appelle 'listAction' du controller 'BoardController' (http://monapplic/board/list) ?
Merci
Gilles
Dernière modification par gcr01 (26-02-2010 11:37:37)
Hors ligne
dans ce contexte tu veux afficher deux vues et donc 2 actions différentes dans la même page.
Pour ce faire tu appelle ton action principale et dans la vue associée, tu appelle la fonction suivante pour afficher la seconde action:
$this->action(string action, string controller, string module, array params) ;
enfin c'est ce que je comprends.
Hors ligne
merci, ca marche.
C'est pas vraiment ajaxé mais c'est efficace.
Hors ligne
Pages: 1