Bonjour,
J'ai un controlleur Sheets qui a une action index qui liste tous les enregistrements d'une table et une action view qui montre ces enregistrements un par un en fonction de l'enregistrement demandé. La saisie des enregistrement etant faite via un formulaire dans une autre vue/action qui s'appelle insert (ou edit je suis en train de la creer)
Pour choisir l'enregistrement souhaité a partir de index il existe une sidebar dynamique qui affiche tous les noms de tous les enregistrements en question et cette sidebar est commune aux 2vues index et view. En pratique on entre dans index, on voit tous les enregistrements et si on veut en choisir un seul (pour permettre de le modifier et d'autres actions supplementaires) on peut cliquer sur son nom a la sidebar ce qui permet d'acceder a la vue 'view'. Mes questions sont :
1)Ou est ce qu'on doit definir la sidebar commune a ces 2vues et quel outil de cake utiliser ? Actuellement je la mets sous forme brute (<li>foreach...) dans les 2 vues index et view car je ne veux pas la mettre dans le model .
2) ou est-Ce que je mets la requete sql (find all) est-ce que je dois la mettre dans le controller puisque ca marche et c plus direct ou dans le model mais surtout puisque c la meme requete dois-je la repeter dans toutes les fonctions ou la mettre directement dans appmodel (ou appcontroller)
Merci toutes vos propositions sont les bienvenues.
Si tu dois la réutiliser dans toutes tes pages, il faut la mettre dans le layout.
Si tu dois la réutiliser dans plusieurs page de controlleurs différents, il te faudrait utiliser un element.
Tu crées un element comme si ct une vue classique et ensuite tu l'appelles dans ton index avec :
echo $this->Element('monElement');
Sinon il y a aussi les blocs de vues et les vues étendues ici, mais là je t'avoue que je ne connais pas (c'est surement plus propre, un exemple de sidebar s'y trouve)
si tu opte à les mettre dans les deux views pense à les mettre en cache pour éviter le surcharge des requêtes
merci ok, sinon est-ce comme ça qu'on doit faire ou faut-il passer par une autre propriété de cake : element, helper ???