En bref:
- Créer une action de contrôleur CakePHP qui effectue la mise à jour de la ligne.
- Déterminez l'URL de l'action du contrôleur que vous venez de créer. (par exemple
/controllername/actionname
)
- Déterminez si vous devez effectuer une requête GET ou POST sur cette URL pour qu'elle fonctionne.
- Mettez du code dans votre vue qui attache un événement "onclick" qui effectue une requête AJAX (GET/POST) au contrôleur ci-dessus.
CakePHP a une aide javascript qui traditionnellement produit code prototype, mais v1.3 est maintenant en mesure de produire du code pour d'autres frameworks JavaScript (comme Mootools, JQuery, etc.)
Cependant, beaucoup suggère d'écrire votre javascript en javascript (par exemple en utilisant réellement le framework Mootools), plutôt que d'écrire votre javascript en PHP (comme utiliser l'assistant de CakePHP pour produire du code Mootools).
De toute façon, à votre avis, vous devez avoir quelque chose comme: <?php echo $js->link(..
ou <script>Moo..
ou <a onclick="Moo..
pour joindre votre javascript à ce lien.
Vous pouvez également souhaiter que l'action de votre contrôleur renvoie une sorte de réponse indiquant si la mise à jour de la ligne a échoué ou a abouti. Dans ce cas, vous devez vous assurer que l'action du contrôleur CakePHP que vous appelez a une vue qui l'affiche. JSON semble être le format idéal pour cela (par exemple { success: true }
), mais vous devez vous rappeler de désactiver la sortie de débogage de Cake. Cette réponse peut être capturée dans une variable par votre code Mootools où vous pouvez décider quoi en faire (par exemple afficher une erreur).