Je développe une nouvelle version de mon composant Joomla TTVideo. J'essaye de mettre en place un système de notation en utilisant le plugin jQuery. J'ai le problème jQuery noconflict résolu, mais je suis un peu confus quant à la façon d'envoyer le vote en toute sécurité à une classe d'aide qui met à jour la base de données avec la valeur du vote.Utiliser jQuery pour mettre à jour la base de données via le composant Joomla MVC
Habituellement, cela est fait par un script externe qui est seulement accessible à chaque requête ajax. Je voudrais le faire afin qu'il soit incorporé dans mon composant, et de telle manière que les variables std Joomla soient disponibles à la classe d'aide, par exemple. getDBO() et la référence de la base de données #__nom_table.
Tous les commentaires sur la façon d'y parvenir seront grandement appréciés. Merci.
Merci Alex, j'ai implémenté ceci hier comme vous l'avez décrit ci-dessus. La seule chose que j'ai laissée de côté était le jeton, je serai sûr de l'inclure. Une autre chose à noter est ce qui est très important si vous voulez recevoir une réponse de la requête ajax par exemple. json, xml, html, c'est que vous devriez ajouter & format = raw sur votre URL de demande, par exemple. index.php? option = my_component & controller = mon_controller & format = raw. Si vous ne le faites pas, vous obtiendrez le template html Joomla enroulé autour de votre réponse. – Martin
si vous ajoutez 'format = raw',' view.raw.php' sera appelé. C'est quelque chose dont vous n'avez pas besoin pour l'appel AJAX, qui entraînera une charge supplémentaire et une charge de vue inutile (le contrôleur et le modèle sont suffisants pour ajax). Meilleure sortie de la tâche et utilisez 'jexit()' pour empêcher l'exécution du script. Cependant, si vous voulez toujours utiliser l'affichage ... faites les formats liés à la sortie. raw - raw html ('view.raw.php'), json - json réponse (' view.json.php'), etc ... – Alex
format = brut ** n'appelle pas ** une vue. view = raw appelle une vue, ** format ** est une option Joomla std pour ne renvoyer aucun autre html en dehors de ce que le composant renvoie. Ceci est utile lorsque vous renvoyez JSON car vous ne voulez pas du tout d'autre HTML/texte, jQuery ne le reconnaîtra pas. – Martin