Bonjour,
Je prends mes marques sur le framework ZEND (version 2), et développe divers
modules.
Sur le dernier, j'ai une liste de données dans un tableau, que je pagine avec "Paginator", cela fonctionne bien.
En javascript, je modifie les liens de la pagination afin de recharger en AJAX le tableau.
Dans mon controleur, je retourne dans indexAction, et capte l'événement AJAX avec $this->getRequest()->isXmlHttpRequest().
Maintenant, impossible de charger une autre vue que index.phtml.
J'ai créer deux vues, une au premier chargement, l'autre pour l'ajax :
index.phtml :
list.phtml :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <?php $title = 'My Sample Data'; echo $this->headTitle($title); ?> <h1><?php echo $this->escapeHtml($title); ?></h1> <p><a href="<?php echo $this->url('SanSamplePagination/default', array( 'action'=>'add'));?>">Add new Sample Data</a></p> <div id="winpopup"></div> <div id="div_content_pagination"> <?php require_once('list.phtml'); ?> </div>
Comment faire dans le contrôleur pour appeler uniquement list.phtml, et non index.phtml ? Peut-être créer une nouvelle action dans celui-ci ?
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
19
20
21
22
23
24
25 <?php echo ( count($this->sample) > 0 ) ? $this->paginationControl($this->sample, 'Sliding', 'pager.phtml') : ""; ?> <table class="table"> <tr> <th>Id</th> <th>Name</th> <th>Gender</th> <th></th> </tr> <?php foreach($this->sample as $row) : ?> <tr> <td><?php echo $this->escapeHtml($row['id']); ?></td> <td><?php echo $this->escapeHtml($row['name']); ?></td> <td><?php echo ($row['gender'] == 2) ? 'Female' : 'Male'; ?></td> <td> <a href="<?php echo $this->url('SanSamplePagination/sample-id', array('action'=>'edit', 'id' => $row['id'], 'controller'=>'tablesample'));?>">Edit</a> <a href="<?php echo $this->url('SanSamplePagination/sample-id', array('action'=>'delete', 'id' => $row['id']));?>">Delete</a> </td> </tr> <?php endforeach; ?> </table> <?php echo ( count($this->sample) > 0 ) ? $this->paginationControl($this->sample, 'Sliding', 'pager.phtml') : ""; ?>
Quelques exemples ? Car malheureusement, la version 2 n'est pas encore très bien documentée/partagée sur le net...
Merci,
Partager