CakePhp et Json

Par lakamark, il y a 12 ans


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

4 réponses

Grafikart, il y a 12 ans

Et aussi rajouter dans le Router la gestion des fichier JSON avec Router::parseExtension (si mes souvenirs sont bons)

amethyste, il y a 12 ans

Je pense que tu te trompes seulement d'url pour accéder à ton fichier, essaies :

http://mondomaine.com/albums/index.json
Lartak, il y a 12 ans

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

lakamark, il y a 12 ans

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.