Bonjour,
J'aimerais sécuriser des vues de ma section musique avec Json et cakephp pour que je puisse envoyer à une version final d'une vue. Je suis allé voir la documentation : Documentation Json pour cakephp
Et j'ai essayer leurs exemple et je ne suis pas arrive è leur résultats.
J'ai activée le RequestHandlerComponent ensuite j'ai autoriser que cakephp perse les fichiers .json avec la fonction : parseExtensions();
Je veux utiliser le deuxième cas qui est l'utilisation d'une vue de donnée
Pour ma vue index de mon controller albums : je récupère tous les albums :
public function index() {
$this->layout = 'musicapp';
$albums = $this->Paginate('Album');
$this->set(compact('albums'));
}
Dans le dosier /view/Albums/json/ je me suis créer un fichier index.ctp comme il est écrit dans la documentation quand j'essayes d'afficher le tableau des données et ça m'afiche ce-ci à place :
{"code":404,"url":"\/albums\/json\/index.json","name":"Action AlbumsController::json() could not be found."}
Merci de votre aide en avance
Je pense que tu te trompes seulement d'url pour accéder à ton fichier, essaies :
http://mondomaine.com/albums/index.json
Et aussi rajouter dans le Router la gestion des fichier JSON avec Router::parseExtension (si mes souvenirs sont bons)
Une petite question, le code que tu as donné, c'est pour un fichier index.ctp ou ton index.json ?
Car d'après le code que tu as mis dans ton sujet, tu demandes un rendu sur un layout alors que d'après la documentation de CakePHP :
Les classes de vue de données ne supportent pas les layouts.
Elles supposent que le fichier de vue va afficher le contenu sérialisé.
Source : Utilisation d’une vue de données avec les fichiers de vue
Très bon point j'avais oublié ce petit détail. Je vais utilisé l'ajax et jquery pour afficher les données dans une vue.