Bonjour,
Mon problème porte sur la mise en place d'une pagination Ajax. J'ai une page qui affiche plusieurs type d'informations. La dernière partie concerne les commentaires laissés par les utilisateurs. Je souhaite pouvoir paginer ces commentaires. J'ai réussi à mettre en place un pagination simple (non AJAX) mais cela ne me va pas car à chaque fois la page entière se recharge. Je dois donc scroller vers le bas puis je dois ré ouvrir l'accordéon et finalement je peux visualiser les commentaires. Ceci est beaucoup trop contraignant.
Voici l'organisation du code de cette page.
<div class="accordion" id="accordion1">
<div><strong>Mon 1er type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion2">
<div><strong>Mon 2nd type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion3">
<div><strong>Mon 3em type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion4">
<div><strong>Les commentaires que je veux recharger en ajax</strong>
</div>
</div>
Cette page est ensuite envoyé dans le layout par defaut. Pour rendre cette pagination Ajax, j'ai suivi les indications du book :http://book.cakephp.org/2.0/fr/core-libraries/helpers/js.html#ajax-pagination (en bas de page).
J'ai donc rajouter dans mon appController:
public $components = array('RequestHandler');
public $helpers = array('Js');
$this->Paginator->options(array(
'update' => '#"les_commentaires',
'evalScripts' => true
));
J'ai importer jquerry et echo $this->Js->writeBuffer(); à la fin du body (dans mon layout).
Finalement, j'ai rajouter dans ma vue : echo $this->Paginator->pagination(); (C'est une fonction d'un plugin bootstrap pour cakepPHP).
Mon layout ajax est le suivant : <?php echo $this->fetch('content'); ?>
Mon problème est que, lors d'un clic pour aller à la page suivante, je me retrouve avec la page entière chargé dans ma div "les_commentaires". Je n'ai pas le layout entier mais en gros j'ai deux fois le contenu de la page :( Moi je veux juste que la div commentaire soit recharger :(
Si je peux schématiser mes dire, voici le résultat final :
<div class="accordion" id="accordion1">
<div><strong>Mon 1er type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion2">
<div><strong>Mon 2nd type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion3">
<div><strong>Mon 3em type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion4">
<div class="accordion" id="accordion1">
<div><strong>Mon 1er type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion2">
<div><strong>Mon 2nd type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion3">
<div><strong>Mon 3em type d'infor ici</strong>
</div>
</div>
<div class="accordion" id="accordion4">
<div><strong>Les commentaires que je veux recharger en ajax</strong>
</div>
</div>
</div>
Quelqu'un aurait une idée d'où peut venir le problème? N'hésitez pas à me demander plus d'informations.
Merci.