how to obtain a mutlicolor drop down primary links menu

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à toutes et à tous,

Je cherche un thème ayant pour spécificité de proposer une couleur donnée pour chaque lien d'une barre de menus type "primary links" en version "drop down" (type thème marinelli) c'est-à-dire que le déploiement d'un lien de cette barre se ferait aussi avec la même couleur de fond pour chaque lien.

Je ne pense pas demander la lune, même si cela ne fait pas partie des caractéristiques standards proposées par les thèmes Drupal que j'ai pu tester.

Du coup, voici mes questions - un peu naïves peut-être je le conçois, je réclame votre indulgence - sur ce sujet :

-existe t-il des thèmes et/ou modules à votre connaissance intégrant déjà cette caractéristique ? (par exemple un équivalent du module "page theme" pour les différents items d'un même menu primary links....? ou un thème proposant def açon automatisée des réglages pour arriver à ce résultats ?...)

-sinon :
(i) Puis-je m'en sortir avec du bricolage et/ou de la manipulation SEULE de fichiers .css ?
(ii) C'est utopique et je dois me casser plus les dents et passer par de la programmation PHP ?

Merci par avance

Version de Drupal : 

Merci pour votre réponse.

Mais comment accéder aux classes de chaque menu ? Je suis novice pour cette partie, je l'avoue.
Est-ce dans un fichier css ?
Avez-vous quelque article à me donner comme point d'entrée ? De mon côté, les seuls que j'ai trouvé parlent de phptemplate...

Merci

oui c est dans un fichier css.Vous reperez vos class en regardant la source de votre menu cad le html qui dessine votre menu.Ensuite vous applique les style que vous voulez a la balise de votre menu que vous attraperer via sa class.

Ce n'est pas encore évident pour moi de trouver le bon enchainement, avec les indications que vous m'avez indiqué.

Du coup, continuant mes recherches,

1°) J'ai testé des modifications comme indiquées ici par exemple :
http://thedrupalblog.com/suckerfish-css-drop-down-menus-drupal-made-simple

2°) J'ai aussi fait un petit essai avec un fichier block-menu-primary-links.tpl.php ici: (mais c'est du PHP et vous disiez que jepouvais faire sans)
http://grasshopperpebbles.com/ajax/drupal-jquery-dropdown-menus/

3°) Complété par les bouts de code vus ici : (pour l'idée)
http://www.webmasterworld.com/forum83/8605.htm

Je vois bien une logique mais je vous rappelle que je suis sous Drupal; alors vous me parlez de HTML, soit je crée des primary links et il faudra que mes règles puissent s'y appliquer lien par lien (couleur différente) ; soit que je court-circuite à l'aide d'un .php en entrant manuellement le menu avec balises mais en pouvant faire apparaitre des balises du genre "<li.bleu>Titre 1</li.bleu>...est-ce juste ? comment écrire cela et où tout placer ?

C'est loin d'être clair.

Si quelqu'un pouvait me détailler un peu plus une réponse ça serait très sympathique!!

Merci

Je sais pas mais je continue a croire que votre demande ne necessite pas de rentrer dans le code php.

Meme avec drupal votre site avec vos lien s affiche sure une page en html.Et elle contient par ewemple un lien qui s appelle contact.Vous afficher le code source de cette page(pour ce faire click droit puis afficher la source) vous chercher contact et vous aller le trouver ecrit dans une balise html "a" qui est dans une balise "li" qui contien une class="menu_tartanpian"

vous aller dans une feuille de style qui est en réalité un fichier qui se termine par .css et ki est appele a cette page.
pour l appeler en drupal creer un dossier css dans le dossier theme/votre_theme dans lequel vous mettez votre fichier qui s apelle par exemple style.css.Ensuite aller dans votre theme il a y a un dossier qui s apelle votre_theme.info la ou se trouve vos regions.Vous mettez : stylesheets[all][] = css/style.css

Voila votre feuille de style est appeler sur toute vos page

vous mettez la class de la balise html que vous voulez styler dans le fichier ci dessous (dans votre cas la ca va etre par exemple menu_tartanpian)

.menu_tartanpian{
background:red;
}
et vous aller voir le fond de votre lien contact qui est rouge.

et vous pouvez faire ca pour la balise html ke vous voulez.selement il va falloir apprendre a faire du css

Bonjour,

Merci pour vos encouragements, il y a du progrès !

J'arrive à m'en sortir si je court-circuite le menu de primary links avec un fichier block-menu-primary-links.tpl.php ou je créé manuellement un menu que je personnalise donc avec des règles css que j'ai crées dans un fichier .css:
fichier php:

  • Parent 4
  • Contacts
  • fichier css:(extrait)
    li.rose { background:#ff00a4 ; }

    Par contre, pour ce qui est du menu de primary links initialement présent dans Drupal (=qu'il y a sans mettre ce fichier php qui est prioritaire, donc à partir des pages mises en tant que primary links), je ne sais pas où accéder au code HTML source dans ce cas...
    mais cela doit être possible d'après ce que vous me dites...

    Je continue de chercher mais je reste optimiste!

    OK, merci, je viens de saisir ! , j'arrive à afficher la source de la page courante visionné dans le browser (firefox chez moi).

    Oui, mais cela ne résout pas mon problème ;-( : ce code étant généré par Drupal, je ne peux pas le sauvegarder en tant que page html ?!...si ce n'est via un .php avec les règles de priorité de fichiers type page-front.tpl.php. Mais même là, se pose le problème pour afficher un menu primary links personnalisé sur toutes les pages du site...sans déformer leur contenu propre. Bref, je m'arrache encore des cheveux, du coup j'étais chez le coiffeur ce matin.

    Trève d'humour, je vais aussi aller voir du coté du module suggéré par l'autre internaute

    à suivre donc

    Si tu voit la source tu verra que toute les balise ont une propriété "class" ou "id"

    Ces dernière te permette de mettre du style dans ta fueille css sans toucher ni au fonctionnement du ni a rien du tout.Tes menu sont la d&ans des balises sur une page et il ne bouge pas.

    Tu doit aller apprendre a faire un peu de css.Quand tu developpe un site c est primordial et tu verra ca va te simplifier la vie pour ce genre de chose.Il existe plein de tutoriaux par exemple sur le site du ZERO pour apprendre a faire du css.Fait un tutorial tu verra tu sera illuminé en ce qui concerne ton probleme

    Allons tu étai pret a faire du php, surclasser des methode drupal et tu refuse d apprendre a faire du css??c est pas serieux ca:) Le css c est facile ne t inkiete pas bien plus simple que le php
    :) et bien sure n hesite pas a poser des question

    J'arrive à mes fins avec le thème "basic", en court-ciccuitant le code généré par Drupal grâce au fichier block-menu-primary-links.tpl.php où je mets manuellement mon menu.

    Mais quand j'essaye d'adapter cela à d'autres thèmes c'est la galère. Le même nom de fichier tpl n'est pas forcément reconnu ailleurs et j'aimerai trouver l'équivalent pour les menus générés en dhtml menu (giordani theme par exemple quand on affiche les primary links non pas avec les priamry links "classiques" mais "dropdownés" par dhtml menu...

    Bref, j'arrive à mes fins avec un thème ultra dépouillé... peut mieux faire j'imagine ;-)

    J'ai pas tout suivi mais essaye avec firebug ou webdevelopper deux plugin de firefox.
    Ils te permettront de changer tes class css assez facilement je dis bien assez. Sinon tu as aussi "drupal for firebug" il te faut rajouter un module à drupal.
    Voilà ces quelques indices j'ai pas trop suivi le fil.
    Bonne continuation.