Ergebnis 1 bis 17 von 17

Thema: CSS: Submenu seitenabhängig gestalten

  1. #1
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    190

    Standard Ungelöst: Submenu seitenabhängig gestalten

    Hallo,

    ich arbeite gerade an einer Seite, bei der die Navigationsbuttons unterschiedliche Farben besitzen. Je nach ausgewählter Seite, sollen auch die Unterseiten in der linken Navigation entsprechend farblich erscheinen.
    Bsp.: Wähle ich "Förderverein" (orange), zeigt links die Überschrift der Unternavigation die gleiche Farbe usw. Klappt soweit.

    Sobald ich aber eine Unterseite auswähle, wechselt die Farbe wieder auf gelb.
    Ich weiß, es liegt an CSS. Ich hab aber schon Stunden rumprobiert .... :-(
    Muss ich hierfür jeder neuen Seite eine entsprechende CSS-Klasse vergeben? Oder gibt's auch eine andere Möglichkeit? Der spätere Redakteur soll die Sache auch bei neuen Unterseiten möglichst einfach haben.

    http://sebastian-grundschule.de/typo

    Roland
    Geändert von RoGer (08.06.2011 um 21:16 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    25.07.2010.
    Beiträge
    325

    Standard

    hi,

    ps. in firefox 4.x schlägts dir die Unternavi "biblisch-christliches-gottesbild" auf 3 Zeilen

    biblisch-
    christliches
    gottesbild

    und

    hausaufgabenkonzept

    fällt hinten aus dem Rahmen...

    verwendest du MenuMatic?
    ich habe nämlich ähnliche Probleme...

  3. #3
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.337
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    .active sollte Euer Freund sein.

    :-)

    Carolina-

  4. #4
    Contao-Fan
    Registriert seit
    25.07.2010.
    Beiträge
    325

    Standard

    Zitat Zitat von lucina Beitrag anzeigen
    .active sollte Euer Freund sein.

    :-)

    Carolina-
    Hi,

    also ich könnte noch überall für jede Klasse / Unterklasse ein .active machen ...
    cool...
    danke.

  5. #5
    Gesperrt
    Registriert seit
    01.12.2010.
    Ort
    Passau
    Beiträge
    321

    Standard

    Wenn du schon crosspostest dann verlink das wenigstens miteinander.

  6. #6
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    190

    Standard

    @wotank
    sorry - hast du ja damit gemacht. Hab dir auch dort schon geantwortet.
    @tio
    ist kein MenuMatic

    ABER:
    .active ist doch immer nur der jeweils ausgewählte Menüpunkt. Ich möchte aber eine Farbe "automatisch" allen Unterseiten einer Hauptseite "vererben". Ich meine, irgendwo schonmal sowas gelesen zu haben.

    Jetzt hab ich .menu01, menu02 ... allen Seiten zugewiesen. Ist aber extrem unpraktisch beim Anlegen neuer Unterseiten.

    Scheint übrigens ein generelles Problem zu sein.

    Roland

  7. #7
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo RoGer,
    das ist ein generelles Problem von Leuten die noch nicht viel CSS können ;-)

    Schau mal, du wirst ja in der 1. Ebene ja passende Klassen. Nun musst du nur noch diese Klasse auch nutzen um die Elemente darunter anzusprechen.

    Also zum Beispiel sowas in der Art:
    Code:
    li.menu02 li a
    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  8. #8
    Gesperrt
    Registriert seit
    15.06.2009.
    Ort
    Embu, Kenya
    Beiträge
    125
    Partner-ID
    254

    Standard

    Hallo RoGer,

    wie so oft gibt es mehrere Lösungsansätze. Einem Redakteur, der eine neue Seite einrichten kann, würde ich ja grundsätzlich zutrauen, dieser Seite auch eine Klasse, quasi als Kategorie zuzuweisen. Aber es stimmt natürlich, dass der Redakteur wieder zusätzliches Know-how benötigt, was zu vermeiden ist. Mehrere Seitenlayouts mit gesonderten Stylesheets wären auch noch denkbar, widersprechen aber dem Grundsatz: So wenig Seitenlayouts wie möglich.

    Bleibt die Anpassung des Seitentemplates fe_page.tpl:

    1. Templates -> Neues Template -> Originaltemplate = fe_page.tpl
    2. Die Klasse des body-Tags per Inserttag {{env::main_alias}} erweitern
    3. Ggf. dem Template einen eigenen Namen geben und in der Seitenstruktur neu zuweisen.

    Zu Punkt 2:

    In der Standard-Seitenvorlage wird für body das Klassenattribut erzeugt mit:

    <?php if ($this->class): ?> class="<?php echo $this->class; ?>"<?php endif; ...


    Den String für die Klasse passt Du nun so an, dass der normalen Klassenangabe immer der Alias des Hauptmenüpunktes vorangestellt wird (Leerzeichen beachten):

    class="{{env::main_alias}}<?php if ($this->class): ?> <?php echo $this->class; ?><?php endif; ?>"

    Die komplette Zeile für den body sieht dann so aus:

    <body id="top" class="{{env::main_alias}}<?php if ($this->class): ?> <?php echo $this->class; ?><?php endif; ?>"<?php if ($this->onload): ?> onload="<?php echo $this->onload; ?>"<?php endif; ?>>


    Im CSS kannst Du Seitenelemente nun unter Bezug auf die Klasse des Hauptmenüpunktes gestalten. Da {{env::main_alias}} immer den Hauptmenüpunkt ausgibt, funktioniert diese Methode in beliebiger Verschachtelungstiefe.

    Ich meine, MacKP hat das hier im Forum auch schon mal vorgeschlagen.

    EDIT: Hab den Beitrag von MacKP gefunden. Anschließend gibt es dort noch eine Lösung für mehrsprachige Sites.

    Viele Grüße
    Harry
    Geändert von Harry (08.06.2011 um 10:23 Uhr)

  9. #9
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ergänzend zu den Ausführungen von Harry:

    Der Inserttag {{env::main_alias}} kann selbstverständlich auch im (Standard)"Seitenlayout" unter "Experten-Einstellungen" im Feld "Body-Klasse" eingetragen werden.

    Vorteil: Man erspart sich die direkte Anpassung des Seitentemplates "fe_page.tpl".
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    190

    Standard

    schonmal danke für die zahlreichen Antworten.
    Die Sache mit dem Inserttag {{env::main_alias}} hatte ich schon in meinem verlinkten Thread gesehen. Scheint wohl das Beste zu sein. Besonders der Vorschlag von "xchs".
    Allerdings: Wenn ich das richtig sehe, müsste man nach jeder Änderung eines Hauptmenüpunktes auch die entsprechende CSS-Klasse ändern ... Richtig ?

    @MacKP
    Hallo RoGer,
    das ist ein generelles Problem von Leuten die noch nicht viel CSS können ;-)
    joh, danke für die Blumen. Du kannst mir bestimmt erklären, wie das funktionieren soll, ohne auf Unterseiten Klassen anzugeben ?
    Code:
    li.menu02 li a
    Roland

  11. #11
    Gesperrt
    Registriert seit
    15.06.2009.
    Ort
    Embu, Kenya
    Beiträge
    125
    Partner-ID
    254

    Standard

    Stimmt, der Inserttag im Seitenlayout ist deutlich komfortabler - wenn man denn daran denkt, dass es das Feld gibt und es genau für diesen Zweck vorgesehen ist .

    Und ja, wenn man die Aliasse der Hauptseiten ändert, müssen selbstverständlich die CSS-Selektoren entsprechend angepasst werden. Das sehe ich aber nicht als Manko. Wie oft wird man seine Hauptmenüpunkte ändern? Es ging in erster Linie ja um eine Lösung, mit der sich beliebige neue Unterseiten erstellen lassen, ohne diese besonders kennzeichnen zu müssen.

  12. #12
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo RoGer,
    die Unterpunkte sollen ja die selbe Farbe haben soweit ich das verstanden habe.
    Du musst also nur wissen welcher Oberpunkt das ist. Das steht dann so im CSS wie ich geschrieben habe. Du brauchst die Unterpunkte dann ja nicht anders anzusprechen jeweils. Das funktioiniert so, weil die Unterpunkte ja IN dem Hauptpunkt drinn liegen.

    Was genau willst da noch wissen?

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  13. #13
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von RoGer Beitrag anzeigen
    Allerdings: Wenn ich das richtig sehe, müsste man nach jeder Änderung eines Hauptmenüpunktes auch die entsprechende CSS-Klasse ändern ... Richtig ?
    Nur soviel: Die kommende Contao-Version wird diesbezüglich einige Erleichterungen bringen. Über entsprechende Platzhalter in den Stylesheets können dann solcherart Änderungen blitzschnell umgesetzt werden.

    Bleiben wir gespannt.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  14. #14
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    190

    Standard

    Aah, Hilfe!
    Klang doch zu schön um wahr zu sein - oder hab ich jetzt ein Brett vorm Kopf?

    Den Inserttag {{env::main_alias}} hab ich eingefügt und die CSS-Klasse (nur) für die Seite "Förderverein" umbenannt. Klappt soweit, auch für neue Unterseiten:

    http://sebastian-grundschule.de/typo/index.php/F%C3%B6rderverein.html

    1. Problem:
    Wenn ich über die anderen Menüs (z.B. Unterseiten von Schulleben) hovere, erscheint dort auch die Farbe von "Förderverein"

    2. Problem
    Wenn ich eine andere Seite auswähle und über "Förderverein" hovere, ist dort die Farbe weg. Ist doch klar - im body steht ja schließlich eine andere Klasse anstatt .Föderverein

    War das jetzt ein Denkfehler oder klappt das wirklich nicht ???? (uurrrrgg!)

    Roland
    Geändert von RoGer (08.06.2011 um 21:18 Uhr)

  15. #15
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Sonderzeichen (und dazu zählen auch Umlaute) sind in CSS-Klassennamen nicht zulässig!
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  16. #16
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    190

    Standard

    stimmt - macht aber keinen Unterschied.

    Roland

  17. #17
    Contao-Nutzer
    Registriert seit
    28.08.2009.
    Beiträge
    190

    Standard

    hat keiner eine Idee ?

    Roland

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •