Header Navigation [Réglé]
FameLady93 Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre FameLady93
- Inscrit le : 07/02/2011
Je suis actuellement en train de personnaliser mon site.
J'ai déjà ajouté plusieurs options, comme des boutonsFacebook, I Like, etc...
Je désire ajouter un Menu de navigation comme celui de gauche mais en Header.
Seul problème, j'ai pas trouvé la commande qui convenait.
Avec ceci
Code PHP :
import('core/menu_service'); $menu_id = 4; $menu = MenuService::load($menu_id); $block = $menu->get_block();
Et plus loin
Code PHP :
$menu->display();
Sa m'affiche le Menu de Navigation dans le Header.
Hors je désire utilisé mon propre Menu de Navigation avec son TPL.
Et comme dans la Base de Données c'est enregistré avec une syntaxe particulière concernant les Liens du Menu de navigation, je ne peux pas vraiment récupérer tout sa au format BRUT.
Quel Fonction puis-je utiliser ?
J'ai recherché dans la documentation mais sans succès et certains liens mènent vers une page 404.
Je pense que vous avez du mettre une sorte de Regex en place, mais où la trouvé dans tout ces fichiers ?
Merci par avance
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
On peut placer un menu dans le header via l'interface de gestion des menus, cette fonctionnalité ne permet-elle pas de régler le problème ?
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
FameLady93 Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre FameLady93
- Inscrit le : 07/02/2011
Merci de ta réponse.
Mais non, j'y ai pensée, le problème est que je veux faire une Header de Navigation, mais qui pourra contenir plus d'informations.
Exemple :

Après j'ajouterais d'autres éléments.
- Derniers sujets postés sur le Forum
- Dernier Commentaires
- Etc ...
C'est un élément complétement personnalisé.
Je ne suis pas la seule à travailler sur le projet, j'aide le gérant du site en question.
http://www.css-ressource.com
Et je m'occupe de cette partie.
Mais la je bloque

J'ai trouvé comment récupérer le contenue de la Table du Menu Principal de Navigation, mais il me faut récupérer uniquement les liens et Texte affiché pour chaque lien.
J'avais pensée créer une syntaxe Regex, mais le temps de la développer avec tout les paramètres à prendre en compte, vue que la syntaxe est assez compliquée, je ne pense pas y arriver.
Merci de ton aide en tout cas
ben.popeye Membre non connecté
-
Modérateur
- Voir le profil du membre ben.popeye
- Inscrit le : 04/08/2005
- Site internet
- Groupes :
-
Equipe Historique
Un problème, une question ? Cherchez dans la FAQ ou la documentation. Si vous ne trouvez pas la réponse, demandez du support sur le forum.
Bjarne Stroustrup, inventeur du C++ :"There are two ways to write error-free programs; only the third works."
ReidLos Membre non connecté
-
Modérateur
- Voir le profil du membre ReidLos
- Inscrit le : 27/02/2009
- Site internet
- Groupes :
-
Equipe Développement
Citation :
récupérer uniquement les liens et Texte affiché pour chaque lien.
C'est un champ sérialisé, avec unserialize() il te retourne l'array avec les données, c'est ça que tu veux ?
Mais pourquoi tu fais pas ça avec les tpl ?
Édité par ReidLos Le 08/02/2011 à 22h30
FameLady93 Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre FameLady93
- Inscrit le : 07/02/2011
$menu = MenuService::get_menu_list();
print_r($menu);
Donne
Pour un souci de lisibilité, je ne donnerais pas tout le code
Code TEXT :
Array ( [0] => ModuleMiniMenu Object ( [filename] => connect_mini [id] => 1 [title] => connect [auth] => Array ( [r1] => 1 [r0] => 1 [r-1] => 1 ) [enabled] => 1 [block] => 2 [position] => 0 ) [1] => ModuleMiniMenu Object ( [filename] => search_mini [id] => 3 [title] => search [auth] => Array ( [r1] => 1 [r0] => 1 [r-1] => 1 ) [enabled] => 1 [block] => 1 [position] => 0 ) [2] => LinksMenu Object ( [type] => vertical [elements] => Array ( [0] => LinksMenuLink Object ( [url] => http://www.facebook.com/pages/Css-Ressource/134983763208135 [image] => /images/facebook.gif [uid] => 1765 [depth] => 1 [id] => 0 [title] => Page Facebook [auth] => Array ( [r-1] => 1 [r0] => 1 [r1] => 1 ) [enabled] => [block] => 0 [position] => -1 ) [1] => .........................
Si je veux récupérer l'adresse URL de la page Facebook.
Normalement
echo $menu['0']['url'];
Devrait m'afficher l'adresse URL, mais il y a un problème, plusieurs array sont présent avec pour certain un '0' en référence.
De plus en procédant de cette façon j'obtiens.
Code TEXT :
Fatal error: Cannot use object of type ModuleMiniMenu as array in ....
ReidLos c'est bien ce que je veux faire.
Par contre j'ai pas compris ce que tu veux dire par utiliser les TPL
A moins que tu ne dise sa par rapport à ce morceau de code
Code PHP :
$menu->display();
Je vais créer un TPL, mais pour le moment je ne les utilises pas tant que sa ne fonctionne pas
horn Membre non connecté
-
Modérateur
- Voir le profil du membre horn
- Inscrit le : 31/12/2007
- Site internet
- Groupes :
-
Equipe Historique
Ce n'est pas du tout comme ça qu'il faut faire, il y a beaucoup plus simple

Il faut d'abord repérer l'id du menu que tu veux. Ensuite, il te suffit de faire un
Code PHP :
$menu = MenuService::load($id);
Tu obtiendras alors un objet de type LinksMenu qui contient soit des sous menu (LinksMenu), soit des liens (LinksMenuLink)
Tu peux alors parcourir les liens, images et texte associés. Tu peux aussi choisir de simplement redéfinir un template en faisant comme ça :
Code PHP :
$le_template_en_question étant un objet Template.MenuService::load($id)->display($le_template_en_question);
Par exemple :
Code PHP :
Le fichier tpl associé sera alors à mettre dans /templates/TON_THEME/framework/menus/links/le_template_en_question.tpl ou dans /templates/default/framework/menus/links/le_template_en_question.tpl si il n'est pas trouvé dans précédemment.$le_template_en_question = new Template('framework/menus/links/le_template_en_question.tpl');
Voilà, j'espère que c'est plus clair comme ça
Soyez polis, pas de langage SMS et soignez votre orthographe, merci.
FameLady93 Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre FameLady93
- Inscrit le : 07/02/2011
Maintenant je comprend ce que voulait dire ReidLos
Je sais pas où j'allais
Merci beaucoup horn
Je vais mettre tout sa en place et reviens vous dire ce qu'il en est.
FameLady93 Membre non connecté
Booster Fuzil
-
Booster Fuzil
- Voir le profil du membre FameLady93
- Inscrit le : 07/02/2011
Code TEXT :
templatesdefaultframeworkmenuslinks
J'ai juste eu à m'aider de ces fichiers et a personnaliser pour le miens, je suis encore en train de travailler dessus, mais c'est en bonne voie.
Merci beaucoup
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie