Quelles sont les meilleures pratiques/suggestions/techniques pour implémenter un fil d'Ariane pour une application ZendFramework utilisant Zend_Navigation? comment et où est la meilleure méthode pour définir la hiérarchie des pages?comment implémenter des fil d'Ariane en utilisant Zend_Navigation
Répondre
J'ai fait 2 messages sur ce sujet.
http://blog.ekini.net/2009/05/25/zend-framework-making-the-built-in-breadcrumb-helper-work/
Les deux sont des expériences du monde réel. Pour moi, le fichier XML était plus facile à comprendre.
Obtenir mie de pain est assez facile:
- vous inscrire votre objet
Zend_Navigation
que vous avez créé dans votre bootstrap (ou un autre endroit) dans laZend_Registry
avec la cléZend_Navigation
. De cette façon, l'objet sera rattrapé par tous les assistants de vue de navigation. Si vous utilisez le nouveau bootstrappingZend_Application
, vous pouvez simplement utiliser la ressourceZend_Application_Resource_Navigation
pour configurer la navigation. Réglez simplementresources.navigation.storage.registry = true
dans votre configuration. vous pouvez alors simplement
echo $this->navigation()->breadcrumbs()
dans votre point de vue ou d'un script de mise en page.
Parler de la façon de définir la hiérarchie de la page, je dirais que si vous avez un site en quelque sorte plus petit et plus statique, vous pouvez simplement définir les pages de votre configuration (lors de l'utilisation de la nouvelle Zend_Application
-bootstrapping- approche):
resources.navigation.pages.home.label = "Home"
resources.navigation.pages.home.action = "index"
resources.navigation.pages.home.controller = "index"
resources.navigation.pages.login.label = "Login"
resources.navigation.pages.login.action = "login"
resources.navigation.pages.login.controller = "users"
resources.navigation.pages.users.label = "Users"
resources.navigation.pages.users.action = "list"
resources.navigation.pages.users.controller = "users"
resources.navigation.pages.users.pages.show.label = "Show"
resources.navigation.pages.users.pages.show.action = "show"
resources.navigation.pages.users.pages.show.controller = "users"
...
Sinon, vous pouvez utiliser un fichier de configuration supplémentaire ou vous pourriez construire votre hiérarchie de page dans un plugin-contrôleur frontal ou une aide d'action, par exemple si vous disposez d'une structure de site relativement importante et que vous ne souhaitez pas instancier le sitemap complet sur chaque requête. De cette façon, vous pouvez également insérer des pages dynamiques dont les étiquettes sont créées dynamiquement en fonction des paramètres de la requête.
Bonne réponse. Nous avons un plugin de contrôleur qui génère le conteneur de navigation pour l'ensemble du site et le met en cache pour les demandes suivantes. Je recommande vivement la solution de configuration pour les petits sites. –
J'ai trouvé en utilisant le Zend_Config_XML et un fichier XML pour la navigation config est un moyen facile de le faire. Merci. – farzad
remercie farzad. Bien que les INI soient plus courtes à écrire (pas de balises fermantes, etc.), je trouve le fichier XML plus simple à comprendre et à implémenter. – wenbert