Imaginez que j'ai 4 tables de base de données et une interface qui présente des formulaires pour la gestion des données dans chacun de ces tableaux sur une seule page Web (en utilisant le motif de conception d'accordéon pour montrer seulement une forme à la fois). Chaque formulaire est affiché avec une liste de lignes dans le tableau, permettant à l'utilisateur d'insérer une nouvelle ligne ou de sélectionner une ligne à éditer ou à supprimer. AJAX est ensuite utilisé pour envoyer la requête au serveur.Zend Framework: comment afficher plusieurs actions, chacune nécessitant des niveaux d'autorisation différents, sur une seule page
Un ensemble de formulaires différent doit être affiché pour différents utilisateurs, en fonction de l'ACL de l'application.
Ma question est la suivante: En termes de contrôleurs, d'actions, de vues et de mises en page, quelle est la meilleure architecture pour cette interface? Par exemple, jusqu'à présent, j'ai un contrôleur avec ajouter, modifier et supprimer des actions pour chaque table. Il y a une indexAction pour chacun, mais c'est une fonction vide. J'ai également étendu Zend_Form pour chaque table. Pour afficher les formulaires, je puis dans l'IndexController passer la forme à sa vue, et l'écho de chaque formulaire. Javascript prend ensuite soin de remplir le formulaire et d'envoyer des requêtes à l'action add/edit/delete appropriée du contrôleur approprié. Cela ne permet cependant pas à ACL de contrôler l'affichage ou non des formulaires pour différents utilisateurs.
Serait-il préférable que indexAction instancie le formulaire, puis utilise quelque chose comme $ this-> render(); rendre chaque vue dans la vue de l'indexAction de l'IndexController? L'ACL empêcherait-il certaines vues d'être rendues?
Cheers.