Submitted by doppler on
Bonjour,
J'ai besoin de mettre en place des menus déroulants dans la barre de navigation. J'ai trouvé le module nice_menus mais il n'est que pour Drupal 4.7 et 4.6, pour la 5.1 ces modules sont ils utilisables ou bien faut il attendre une mise à jour ?
A défaut existe t'il des themes pour la 5.1 qui intègrent d'office des menus déroulants ?
Merci d'avance.
J'viens de trouver la
Permalien Soumis par doppler le 21 Mars, 2007 - 13:02
J'viens de trouver la réponse par ici:
http://drupal.org/node/109865#comment-193630
J'ai installé celui de dlane:
http://egressive.com/drupal_files/nice_menus-egressive20070304.tgz
Cela marche niquel hormis un bug avec IE6 (pas de sous sous menu affichable).
A prendre en considération les bugs et solutions qui étaient liées aux précédentes version de nice_menus avec IE 5.5:
http://drupal.org/node/43899
Par contre j'ai installé le theme Antique_moderne qui est doté d'un menu typé onglets dans le header. J'aimerais que nice_menus gère cette présentation en onglets mais je ne peux que l'utiliser en entête, c'est à dire sous le header.
Si quelqu'un a une solution pour ce faire, je l'aime !
:D
j'comprend pas ce que tu
Permalien Soumis par jubjub le 21 Mars, 2007 - 19:15
j'comprend pas ce que tu veux dire, tu veux le menu dans le header?
Yep, regarde par là...
Permalien Soumis par doppler le 22 Mars, 2007 - 11:48
Yep, regarde par là... www.festival-7arts.com
Ce que je voudrais c'est que le nice menu (Accueil, A l'affiche, Artistes...) se trouve à la place de la barre de navigation qui est dans le header (Contact)
et bien tu place le block du
Permalien Soumis par jubjub le 22 Mars, 2007 - 20:01
et bien tu place le block du nice menu dans la region de bloc header !?!
sinon, tu crée une nouvelle region de bloc ou tu veux, comme ca :
--dans page.tpl
--et dans template.php, rajoute dans "function airtheme_regions() {:"
'blockPourtonNicemenu' => t('blockPourtonNicemenu'),
Désolé si ma question
Permalien Soumis par doppler le 23 Mars, 2007 - 21:26
Désolé si ma question était "primitive", je suis un pur newbie...
et à cause de mon niveau au raz des paquerettes "place le block du nice menu dans la region de bloc header" ne me dit pas grand chose.
Dans mon page.tpl j'ai mit les lignes que tu me conseilles dans le header:
<!-- Begin page header -->
<div id="head">
<div id="site-name"><?php print $site_name; ?></div>
<?php if ($site_slogan) { ?>
<div class='site-slogan'><?php print $site_slogan ?></div>
<?php } ?>
<?php if (isset($primary_links)) { ?>
<div id="menu">
<?php print theme('menu_links', $primary_links); ?>
</div>
<?php } ?>
<?php if ($MonNiceMenu) { ?>
<?php print $MonNiceMenu ?>
<?php } ?>
</div>
<!-- End page header -->
J'espère que c'est ça...
Par contre dans template.php il n'y a pas de ligne "airtheme_regions"...
Je ne vois pas du tout comment dépasser ce pépin.
En tout cas merci pour ton aide :)
place le block du nice menu
Permalien Soumis par jubjub le 25 Mars, 2007 - 16:21
place le block du nice menu dans la region de bloc header" ne me dit pas grand chose.
en fait dans admin/block, tu choisi un bloc, son poid (-10 à 10) et sa région, c'est a dire ou il va etre placé (sidebarleft ou footer par exemple.. bon d'apres ton code t'as pas de block header, ca me semble etrange).
Donc si tu veux que ton menu s'affiche dans le header, tu choisi la region de bloc "header" si tu l'as.
pour le code dans page.tpl, c'est ca.
pour le template, le code te permet de pouvoir choisir la region "MonNiceMenu" dans admin/bloc.
je te donnerai le code entier lundi car je suis pas chez moi.
Sinon, telecharge quelques themes, et regarde page.tpl et template.php.
cherche le mot header. t'auras juste a copier coller les codes de block header dans les memes fichiers de TON theme.
Je trouve ça intéressant
Permalien Soumis par zeurope le 9 Décembre, 2007 - 17:50
Je trouve ça intéressant parce que je voudrais faire la même chose. Mais dans mon thème, il n'y a pas de fichier template.php. Comment faire ? Se trouve-t-il ailleurs ?
Je précise que je suis un newbie moi aussi.
Merci.
Merci encore pour ton aide
Permalien Soumis par doppler le 26 Mars, 2007 - 17:21
Merci encore pour ton aide Jubjub !
Pour ce qui est de farfouiller dans les autres thèmes je n'ai trouvé aucun "airtheme_region" dans les template.php de ceux que j'ai osculté. Peut-être que ça ne se pratique plus avec la 5.x.
Par contre je viens de trouver une solution.
Dans /modules/nice_menus/nice_menus.css si l'on rajoute ceci:
#block-nice_menus-x {
position: relative;
top: 5em;
left: 5em;
}
Le menu x (à changer en fonction de l'ID du menu désiré) est libre et se cale en fonction de la position relative (ici 5em) qui lui est assignée.
Il suffit alors de modifier les valeurs top et left pour placer le menu où l'on souhaite.
Je ne sais pas si c'est la solution parfaite, a vous de me dire :)
pourquoi pas mais j'ai peur
Permalien Soumis par jubjub le 29 Mars, 2007 - 13:44
pourquoi pas mais j'ai peur que cela ne s'affiche pas de la meme maniere selon differents navigateurs.
je te donne le code lundi, et tu verras si ca marche.
voila, tente ca dans
Permalien Soumis par jubjub le 2 Avril, 2007 - 11:06
voila, tente ca dans template.php de ton theme :
<?php
function NomDeTonTheme_regions() {
return array(
'MonNiceMenu' => t('MonNiceMenu'),
Merci encore Jubjub, je
Permalien Soumis par doppler le 4 Avril, 2007 - 14:07
Merci encore Jubjub, je teste ça dans la soirée :)
C'est chaud... Entre les
Permalien Soumis par doppler le 6 Avril, 2007 - 21:12
C'est chaud...
Entre les unexpected <, expected ), unexpected $
et unexpected T_CONSTANT_ENCAPSED_STRING, je vais d'erreurs en erreurs.
De ce que je comprend (hum...) d'abord il n'y a pas besoin du <?php puisqu'il est déjà en début de page non ?
Ensuite la , en fin de code ne devrait pas plutot être un ; ?
Et puis j'ai comme l'impression qu'il manque une parenthèse fermante quelque part (voire deux ?)...
A moins que ce soit à cause des données que j'ai rentré... mon theme je l'ai renommé moonshine et le nice menu que je désire s'appelle admin bref au final j'ai noté (après avoir corrigé ce qui me renvoit des erreurs zarbes):
function moonshine_regions() {
return array()
'admin' => t('admin');
}
Et le résultat c'est une unexpected T_CONSTANT etc...
je te donne tout le code de
Permalien Soumis par jubjub le 6 Avril, 2007 - 21:31
je te donne tout le code de mon template ca t'aidera mieux ...
<?php
/**
* Catch the theme_profile_profile function, and redirect through the template api
<em>/
function phptemplate_user_profile($user, $fields = array()) {
// Pass to phptemplate, including translating the parameters to an associative array. The element names are the names that the variables
// will be assigned within your template.
/</em> potential need for other code to extract field info */
return _phptemplate_callback('user_profile', array('user' => $user, 'fields' => $fields));
}
?>
<?php
function NomDeMonTheme_regions() {
return array(
'right' => t('right sidebar'),
'left' => t('left sidebar'),
( je mets pas tout mes blocks hein ! :)
);
}
?>
voilou, donc "function NomDeMonTheme_regions()" permet d'afficher le nom de ton block dans le champs du choix des regions de block dans admin/block.
Yes plus d'erreurs!
Permalien Soumis par doppler le 9 Avril, 2007 - 17:24
Yes plus d'erreurs! Merci!
Effectivement grâce à cette manipulation de template.php on peut créer des zones de blocs à volonté.
Pour positionner ces zones on modifie alors page.tlp.php
Et au final on place les blocs désirés dans ces nouvelles zones via administrer/construire/blocs.
Il me reste plus qu'à apprendre à définir plus finement les positionnements (par exemple ma nouvelle zone "blocs dans le header est en plein milieu du header alors que je le voudrai à sa base...). A coup de tests divers je devrais y parvenir.
Merci encore, non seulement cela répond à mon désir mais en plus cela m'ouvre des portes sur la maitrise de toutes les zones de blocs. C'est excellent :)
Thanx !
pour placer mes elements
Permalien Soumis par jubjub le 9 Avril, 2007 - 23:00
pour placer mes elements plus facilment je créer des tables.
un table pour le logo, et en dessous, une table pour le header.
tu mets le code du block dans la table, et hop !
Est-ce que tu pourrais
Permalien Soumis par doppler le 12 Avril, 2007 - 13:28
Est-ce que tu pourrais détailler ?
Tu crées une table dans la base de donnée par élément ?
Excuse moi j'ai du mal à comprendre le principe...
non ! je crée une table
Permalien Soumis par jubjub le 12 Avril, 2007 - 14:51
non ! je crée une table html dans page.tpl !!!!
regarde ici je t'ai fait une image... http://www.servimg.com/image_preview.php?i=4&u=11189729
comme ca, le header est bien SOUS la banniere. tu met ton code php de block dans "header" de mon image.
Ok merci j'étais à
Permalien Soumis par doppler le 12 Avril, 2007 - 15:46
Ok merci j'étais à l'ouest... désolheu
Maintenant je crois que j'ai capté, je ferai un ti tuto pour résumer tout ça grâce à tes aides :)
Dis juste un dernier truc... Pour déterminer la spacialisation de façon plus fine que juste en incluant le renvoi aux tables dans les zones prédéterminées par le page.tpl.php, connais tu des topiks qui traitent de celà ou bien des sites ? (j'ose pas te demander de me l'expliquer, je t'ai déjà trop squatté ^^')
tu trouvera surement sur
Permalien Soumis par jubjub le 12 Avril, 2007 - 16:03
tu trouvera surement sur drupal.org