Quelle est la meilleure pratique pour créer une barre latérale dynamique ou d'autres emplacements de mise en page sans contenu avec zend framework. A ce moment j'ai créé un contrôleur que j'ai appelé WidgetsController. Dans ce contrôleur, j'ai défini certaines actions avec un segment de réponse 'sidebar' pour ma barre latérale et dans IndexController je les appelle avec $ this-> view-> action(); fonction mais je ne pense pas que ce soit une bonne pratique pour créer une barre latérale dynamique. Merci pour vos réponses.Meilleure pratique de création d'une barre latérale dynamique avec zend framework
Répondre
question Vous ne fournit pas beaucoup de détails. En général, je dirais charger la barre latérale en tant que modèle de vue, via les méthodes de rendu/partiel de la vue. Ainsi, à l'intérieur d'une vue:
//$data is dynamic data you want to pass to the sidebar
echo $this -> partial('/path/to/sidebar.phtml',array('menuitems' => $data));
Et puis la barre latérale peut traiter que les données dynamiques:
//sidebar.phtml
<div id="sidebar">
<?php foreach($this -> menuitems as $item) : ?>
<a href="<?php echo $item['url']; ?>"><?php echo $item['title']; ?></a>
<?php endforeach; ?>
</div>
Si vous avez besoin des fonctionnalités supplémentaires, vous pouvez créer un dédié view helper à gérer.
Nous aimerions quelques détails, à savoir quel type de contenu est indiqué dans les barres latérales, comment vous les montrer (en utilisant par exemple un <ul>
, <div>
ou autre chose), est le contenu récupéré à partir d'une base de données, etc.
en CodeIgniter qui utilise également le format Model, View, Controller
, nous créons une vue appelée « sidebar.php » et dans la vue Header
, nous incluons un appel à ce point de vue de la barre latérale, à savoir:
<html>
<head>.......</head>
<div id="header">....</div>
<?php $this->load->view('sidebar');?>
la vue de la barre latérale contient la logique pour afficher les éléments de menu. Habituellement, il est un menu statique, mais si elle était dynamique et a dû être extraite de la base de données, je referais ce:
<ul>
<?php
$items=$this->some_model->getMenuItems();
foreach ($items as $item):
?>
<li><a href="<?=$item['url'];?>"><?=$item['text'];?></li>
<?php endforeach;?>
</ul>
Oui, les gens, mon pari est que la réponse des gens de Code Igniter est la bonne approche. En fait, il est utile de voir comment CI le fait simplement, et de faire des comparaisons. Il est fondamentalement le même dans ZF, sauf qu'au lieu de la "vue nommée" ZF a "Partials". ZF a simplement une discipline plus imposée, telle que des dispositions + vues + partiels, et plus de machinerie interne pour l'implémenter, qui la fait fonctionner moitié moins vite, alors que l'allumeur de code semble avoir simplement aplani tout cet appareil en "vues nommées".
(je n'ai pas encore pris ma décision quant à savoir si ZF a trop cuit ou si des steaks de CI doivent rester cru au milieu.)
Si vous utilisez $ Navigation-> setPartial (blah blah) puis le tableau de plomb (techniquement ce type de données constitue la partie "modèle" de la chose MVC) et est rendu disponible au partiel. Donc, là vous l'avez, l'idée semble être de ne pas tirer les aspects d'affichage du modèle dans le contrôleur, pousser les choses d'affichage de modèle sur les machines de traitement de vue.
Je suis sur le point d'essayer moi-même, j'ai fait une recherche sur les partiels dans la section helpers du manuel Zend pour trouver ceci, même si les exemples sont un peu fins.
me souhaite bonne chance Keith
Cela fonctionne pour ZF 1.11: A dynamic sidebar implementation in Zend Framework
- 1. Module dynamique par défaut dans Zend Framework
- 2. Forme de la barre latérale
- 3. Multitenancy avec Zend Framework
- 4. Authentification de l'utilisateur Zend Framework
- 5. Zend Framework: Modules
- 6. Silverlight 2 Gadget de la barre latérale
- 7. Intégration de scripts externes avec Zend Framework
- 8. Zend Studio + Zend Framework
- 9. Sockets TCP avec Zend Framework
- 10. zend framework Problème avec FlashMessenger
- 11. Zend Framework problème avec Zend_Layout
- 12. Formulaire de Zend Framework avec jquery
- 13. Chaînage de routes avec Zend Framework
- 14. Contenu du fluide div avec barre latérale en option
- 15. Vista Widget barre latérale + jQuery = Problèmes avec le menu déroulant
- 16. Création dynamique d'une barre de notification dans l'en-tête
- 17. Zend Studio 7.0 + Zend Framework
- 18. Servir des fichiers dans Zend Framework MVC
- 19. Meilleure façon d'implémenter plusieurs langages dans Zend Framework
- 20. création dynamique avec textboxes « échange »
- 21. Comment utiliser mod_rewrite avec Zend Framework?
- 22. Zend Framework: Premiers pas avec Zend_Test
- 23. Joindre des tables avec Zend Framework PHP
- 24. Zend Framework Invisible Controllers
- 25. Google Maps Problème avec Zend Framework
- 26. Comment configurer Zend Framework avec WAMP?
- 27. Suppression de l'en-tête de la barre latérale d'ajout d'Outlook
- 28. Calendrier dans Zend Framework
- 29. Zend Framework Grid
- 30. formulaire Zend Framework Irrational Comportement
Fournir une réponse basée sur CodeIgniter - ou suggérer que le demandeur utilise CodeIgniter - ne contribue pas vraiment à répondre à la question comme demandé. –