Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1 2
Bonjour, je suis en plein de découverte du Zend et nouveau sur ce forum. Je connais bien le PHP et la POO. Je vous remercis d'avance pour vos réponses.
Je suis en train de créer un premier projet projet avec Zend et j'aimerais générer une carte du site, un chemin de fer et une navigation avec des menus et sous-menus. En cherchant dans la documentation, j'ai découvert Zend navigation qui selon son nom, devrait s'occuper de la navigation à travers mon site. Cependant, ce n'est pas très clair et les informations sur ce composants semblent difficile à trouver.
Et jusqu'ici, les exemples et les ateliers que j'ai réaliser n'explorent que quelques fonctions de base sans réel menu avec de nombreuses pages à gérer. J'aimerais connaître d'autres source d'informations sur ce composant ou avoir une brève explication sur son fonctionnement. J'utilise le Zend_layout qui permet de changer mes views simplement en ayant des liens comme par exemple: index/page2...Je doutes fortement que ce soit la seule façon de faire changer mes views dans le contenu de mon layout et je vois mal le fonctionnement du chemin de fer avec cette façon...
Merci encore pour vos réponses et votre compréhension
PS: Je ne sais pas dans quel section doit se retrouver ce composant, je l'ai donc mis ici
Dernière modification par probitaille (20-04-2009 04:27:57)
Hors ligne
Hello,
Il n'y rien d'étonnant au peu d'informations puisque ce composant n'est pas encore officiellement sorti. Une version beta 1.8 devrait sortir dans les prochains jours. La documentation associée sera aussi mise à jour.
A+
Hors ligne
Ouais j'ai été faire un plus grand tour sur le forum et j'ai découvert ce fait. Merci pour ta réponse, la communauté francophone du Zend semble très bien !
Hors ligne
Bonjour probitaille
Est-ce que vous avez réussi à faire fonctionner "Zend_Navigation"?
Si oui, avez-vous des bouts de code, des explications ou encore des tutoriels... parce que honnêtement, j'ai beau lire 100 fois la documentation de Zend à ce sujet... je n'y comprend rien!
Puisque je débute aussi avec Zend, j'imagine qu'il y a certaine notion que je ne comprends pas encore. Donc, si vous pouvez m'éclairer, ça serait très apprécié.
Hors ligne
Tu devrais te concentrer sur le reste de ton application et attendre un peu la prochaine beta, non ?
Hors ligne
Hello,
Plus que quelques heures...
A+
Hors ligne
Salut alexsherby,
Non, je n'utilise toujours pas Zend_navigation, je ne suis pas sur la version Beta, la version normal en ce moment ne contient pas le Zend_navigation alors je dois attendre impatiemment...Il semblerait que la documentation de Zend à ce sujet va être mis à jour également.
En fait, je comprend totalement ta position si tu débute avec le Zend, moi je ne lâche pas prise et j'en apprends à tous les jours. Aujourd'hui, j'ai réussis à intégré un JQuery dans mon site et je vais commencer à m'attaquer à un formulaire, un login et une base de donnée...d'ici là j'espère que le nouveau Zend va arriver.
Ne te décourage toi pas, relie comme moi plusieurs fois la documentation et pratique toi avec des tutoriels sur le Zend pour comprendre la logique.
Hors ligne
Merci probitaille,
Évidemment, j'ai contourné le problème des menus, chemin de fer, etc... en utilisant des views helpers. J'aurais juste aimé comprendre comme utilisé ce nouveau composant (qui est disponible déjà sois dit en passant), afin de pas à avoir à me casser le ***.
Si un jour, quelqu'un à plus d'infos sur ce composant (mais surtout sur COMMENT l'utiliser), vous me ferez signe!
Hors ligne
En disant qu'il est déjà disponible, c'est en parlant de la Beta ou de la version 1.7 en cours !?
Hors ligne
bonjour,
dans la version 1.8a, j'utilise un objet de type navigation pour créer un menu dans mon rendu :
1ére étape: je crée dans une aide de vue "menuVertical()" , un container de type zend_navigation en associant controller /action
$container=new Zend_navigation(array(
array(
'label' => 'Menu 1',
'controller' => 'index',
'pages' => array(
array(
'label' => 'Consulter',
'action' => 'consulter',
'controller' => 'index',
'title' => 'Afficher les objets',
'active' => true
),
array(
'label' => 'Ajouter',
'action' => 'ajouter',
'controller' => 'index',
'title' => 'Ajouter un objet',
'active' => true
)
....
2ème étape : j'affiche le menu dans le layout
<?php echo $this->navigation()->menu($this->menuVertical())->setOnlyActiveBranch(true); ?>
j'envisage également l'utilisation de ce composant pour afficher un breadcrumb dans le layout.
michel
Hors ligne
merci pour l'info mksoft,
ça va faire quelques semaines que je bricole et test aussi Zend pour bien en comprendre son fonctionnement (Acl, Auth, Plugin, ...) et il me manquait plus que l'intégration d'un menu.
J'ai basculer ma librairie Zend 1.7 en 1.8 et je vais tester ça.
Bonne continuation a tous !!!!
Hors ligne
Merci mksoft!
Les explications semblent très claires. Je vais tester ça.
Hors ligne
mkSoft, ton array pour associer controller et action, tu fais cela pour chaque page ? Si tu as 30 pages tu vas avoir un foutu gros tableau non ? Ha ben je viens d'aller voir la doc et eux aussi semble avoir un gros tableau.
Mais j'ai lu vite vite là, pour le breadcrumb, tu fais ton conteneur avec le tableau:
$pages = array( array( 'label' => 'Home', 'title' => 'Go Home', 'module' => 'default', 'controller' => 'index', 'action' => 'index', 'order' => -100 // make sure home is the first page ), array( 'label' => 'Special offer this week only!', 'module' => 'store', 'controller' => 'offer', 'action' => 'amazing', 'visible' => false // not visible )... ... $container = new Zend_Navigation($pages);
set ta navigation avec ce conteneur:
$view->navigation($container);
et un appel dans le script de vue et voilà un breadcrumb qui peut être partout dans le sit ?:
<?= $this->navigation()->breadcrumbs(); ?>
Va falloir que je test cela...c'est simple mais si tu ajoutes une action donc une page, il va pas le faire automatique dans le tableau...
Dernière modification par probitaille (25-04-2009 17:14:43)
Hors ligne
probitaille a écrit:
ton array pour associer controller et action, tu fais cela pour chaque page ?
Personnellement, mes controleurs et actions sont enregistrés sous une table sql pour l'acl j'ai donc juste adapté certains champs pour pouvoir aussi les récupérer pour générer le menu.
Après, je ne sais pas si d'autres méthodes existent avec Zend pour récupérer les controleurs et actions directement depuis les fichiers ? (idées à développer si quelqu'un à le temps ou à eu le cas pour l'un de ses projets)
Hors ligne
salut,
problème également avec le breadcrumb : j'ai toujours la première page de mon container qui est affiché.
je n'ai pas saisi le fonctionnement du breadcrumb. dans la doc, on parle de la page MVC active et comment on détermine l'"activeness" de la page mais visiblement ...
j'ai essayé de déterminer la page active avec isactive() avec une itération sur le container mais toujours le même résultat.
si quelqu'un a une idée...
michel
Hors ligne
J'ai réussis à faire fonctionner mon Breacrumbs mais dans une seule page car j'ai testé le code dans un action (là où je créé mon tableau et mon container...) J'aimerais savoir où est-ce que je dois créer ce tableau pour avoir accès au breacrumbs dans chacune des pages.
MkSoft: Je n'ai pas le breadcrumbs partout dans mon site mais je crois qu'il détect dans quelle action tu te trouve et donc mon lien de la page en cours était désactivé...je suis pas sur je vais travailler avec toute la journée, je pourrai surement revenir avec plus de détails !
Hors ligne
pour l'intégrer à toutes tes pages il suffit peut etre d'appeler ton breadcrumb dans le layout non ?
Hors ligne
Ouais c'est clair cela Non en fait, j'ai créer mon container direct dans le index.php pour qu'il soit reconnu peu importe le controller et l'action...mais je crois pas que ce soit la meilleure façon...
Hors ligne
Moi, j'utilise une bootstrap resource. c'est très facile, y'a juste à faire son fichier de config
Faut avouer que c'est un pur bonheur avec ces nouveaux composants.
Hors ligne
Moi, j'ai créer le container dans une aide de vue (app/views/helpers/) comme l'avait indiqué mksoft et ça fonctionne très bien
Hors ligne
À partir d'une aide de vue, comment fait tu pour associer le container avec la vue ?
... // Create container from array $container = new Zend_Navigation($pages); $this->navigation($container);
Hors ligne
Je ne sais pas, la resource de Navigation le fait toute seule.
Je fait juste rajouté ca dans mon plugin d'acl :
$front->getParam('bootstrap') ->getResource('View') ->Navigation() ->Menu() ->setAcl($this->_acl) ->setRole($this->getAuth()->getIdentity());
Après, j'ai plus qu'a appelé mon helper de menu le plus simple du monde, sans me soucier de la page appelé car c'est les Acls qui font tous
<?= $this->navigation()->menu()->setIndent(4);?>
Hors ligne
pour ma part dans mon aide de vue je créé mon container et je le retourne
$container=new Zend_Navigation($tab2); return $container;
et je l'appel dans mon layout de la manière suivante :
<?php echo $this->navigation()->menu($this->menuHorizontal()); ?>
Hors ligne
un petit up !!!
Je suis actuellement sur ce module et j'ai qqs soucis !!!
J'ai repris la façon de faire de matdev, à savoir aide de vue qui retourne un container.
Le menu de la page s'affiche sans problème, mais j'ai une application error après l'affichage de la page tel que :
exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'MenuTop' was not found in the registry;
Je bosse dessus depuis ce matin, je ne trouve pas et j'ai la sensation que c'est une bricole que je n'arrive pas à voir !!!
Si qqn a une réponse !!!
Hors ligne
C'est quoi menuTop ?
Hors ligne
Pages: 1 2