Je travaille sur un CMS en utilisant CakePHP et je veux créer un menu dynamique qui soit le même sur toutes les pages auxquelles l'utilisateur peut accéder. J'ai donc pensé à créer dans la mise en page (puisqu'il a partagé entre tant de pages et de vues) mais je ne sais pas comment accéder au modèle et obtenir les données de la base de données pour construire le menu. toute aide est appréciée.accès au modèle à partir du fichier layout dans CakePHP
Répondre
C'est parce que
pour la séparation correcte MVC
* dans Cake vous n'êtes pas censé accéder au modèle de la vue. La seule partie avec accès aux données doit être le contrôleur (via le modèle), qui le transmet à la vue, qui affiche simplement les données. En tant que tel, en utilisant un rappel beforeFilter
dans votre AppController
global à les données sont probablement le meilleur choix. En cas d'urgence, vous pouvez toujours accéder à n'importe quoi depuis n'importe où en chargeant une instance de la classe nécessaire en utilisant ClassRegistry::init
, mais vous ne devriez pas l'être. * En réalité, dans "MVC correct" il n'y a aucun problème avec la vue obtenant des données directement du modèle. Vous ne devez pas le faire dans les modèles nécessairement, mais le code lié à la vue peut bien obtenir des données du modèle pour visualiser l'état du modèle. Cela ne fonctionne pas vraiment de cette façon dans Cake, car Cake n'est pas un MVC correct et les vues Cake par défaut ne sont que des templates.
Une alternative peut être requestAction, elle vous permet d'appeler des actions du contrôleur à partir de vues/mises en page, et dans ces actions, vous pouvez ensuite accéder au (x) modèle (s) souhaité (s).
- 1. accès au fichier à load_pub_key
- 2. Accès au fichier conf JBoss à partir de Flex
- 3. Accès au chemin contextuel Tomcat à partir du servlet
- 4. Accès aux propriétés du modèle dans Rails
- 5. Accès au fichier refusé dans .NET
- 6. Accès objet XAML à partir du code
- 7. Java accès au grand fichier
- 8. Accès au cache Firefox à partir d'un composant XPCOM
- 9. Comment rendre une chaîne disponible au téléchargement à partir d'un affichage multimédia dans CakePHP au lieu d'un fichier?
- 10. Accès à un fichier dans App_Data à partir d'une classe du dossier App_Code
- 11. Accès page Modèle à l'intérieur du bloc Javascript
- 12. Accès au fichier inter-domaine Simple_XML désactivé
- 13. accès au fichier Problème de thread différent dans Asp.net
- 14. CakePHP: autorisations basées sur un modèle?
- 15. Obtention d'une entrée utilisateur à partir du calque du modèle
- 16. Modèle et structure de contrôleur dans CakePHP
- 17. générer viewmodel à partir du modèle?
- 18. Accès aux données du modèle ASP.NET MVC à partir de Javascript
- 19. Obtenir un FlowDocument à partir d'un fichier modèle XAML
- 20. Accès à une file d'attente à partir du code autonome
- 21. Hot à appeler au fichier ASP.NET à partir du fichier VBS?
- 22. JSF: Accès au bean à partir du validateur via le champ
- 23. Modèle CakePHP avec "Entre dates"
- 24. Accéder au modèle de colonne de la grille ExtJS à partir d'un autre fichier
- 25. Accès aux propriétés du contrôleur à partir d'une vue
- 26. Impossible d'accéder au fichier BouncyCastle à partir du fichier jar de l'application
- 27. CakePHP 1.2: Comment verrouiller un contrôleur donné à partir d'un accès autre que celui des administrateurs?
- 28. Asp.net mvc - Accès à la vue Modèle à partir d'un filtre d'action personnalisé
- 29. Accès aux cookies à partir du contrôle Webbrowser
- 30. WPF layout devinette