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