Ergebnis 1 bis 4 von 4

Thema: $item['isTrail']?

  1. #1
    Contao-Nutzer
    Registriert seit
    07.03.2010.
    Beiträge
    31

    Frage $item['isTrail']?

    Hallo,

    stehe im Moment vor folgendem Problem:

    Ich möchte ein zweizeiliges Menu einrichten, bei dem die erste Zeile das Root-Menu und die zweite Zeile das Sub-Menu darstellt.
    Im Grunde ja keine große Hexerei. Zur grafischen Untermalung verwende ich Hintergrundgrafiken. Dazu kann man ganz bequem innerhalb des PHP-Codes 'isAvtive' das eine oder andere DIV-Element hinzufügen.

    Code:
    <?php foreach ($this->items as $item): ?>
    <?php if ($item['isActive']): ?>
    ...ACTIVE-CODE...
    <?php else: ?>
    ...
    <?php endif; ?>
    <?php endforeach; ?>
    Sobald man nun aber einen Sub-Menu-Link anklickt wird der Active-Link des Root-Menus zu einem Trail-Link. Damit verschwindet auch der ACTIVE-CODE und es bleibt lediglich die Klasse 'trail' für den Trail-Link zur Ansteuerung übrig.

    Nun möchte ich aber, dass bei aktiviertem Sub-Menu-Link der Trail-Link weiterhin wie ein Active-Link dargestellt wird, also der ACTIVE-CODE auch für den Trail brauchbar ist. Dafür benötige ich eine PHP-Abfrage, die mir die gleichen Möglichkeiten wie 'isActive' erlaubt.

    Gibt es soetwas wie 'isTrail'? Dann könnte ich einfach 'isActive' und 'isTrail' gleich behandeln.

    Oder kennt jemand sonst eine Möglichkeit, Active und Trail gleich zu behandeln?

    Vielen Dank schon mal im Voraus für jede Hilfe.

    Schöne Grüße
    Projecta

  2. #2
    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 Projecta,
    frag doch einfach den Zustand der Klasse von den Items ab.
    Also if class enthält .trail

    Ich kann das jetzt nur so theoretisch, fürs praktische müsste ich selber ewig rumprobieren, da ich kein phpler bin.

    Aber vllt hilft dir das schon mal und du kannst uns allen zeigen wie das dann geht ;-)

    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."

  3. #3
    Contao-Nutzer Avatar von markus.milkereit
    Registriert seit
    05.06.2009.
    Ort
    Novi Sad
    Beiträge
    122
    Partner-ID
    8818

    Standard

    PHP-Code:
    <?php if(strpos($item['class'], 'trail') !== false): ?>
    // hier trail-aktionen / code platzieren
    <?php elseif($item['isActive']): ?>
    // aktiv
    <?php endif; ?>
    Müsste deine Aufgabe erfüllen, oder? Die Dreifach-Abfrage !== muss so sein, weil strpos($item['class'], 'trail') auch 0 zurück geben kann, und in einfacher Logik ist 0 == false.

    Gruß
    Markus
    VON HELDEN UND GESTALTEN Contao Premium-Partner

  4. #4
    Contao-Nutzer
    Registriert seit
    07.03.2010.
    Beiträge
    31

    Standard

    Danke Markus,
    Danke MacKP,

    so hab ichs jetzt gemacht und es funktioniert.
    Ein 'isTrail' wär vielleicht auch ganz gut, aber so hauts ebenfalls hin. Man wills halt immer einfacher haben ...

    Danke Markus für deinen Code. Hab nämlich ursprünglich nur nen Stringabgleich gehabt, das hat auch funktioniert, aber hätte, sobald mehr als nur eine Klasse vorhanden wäre, nicht mehr mitgemacht.

    Ich werde den gesamten Code noch nachbearbeiten und ihn dann die nächsten Tage samt CSS posten, da ich denke, dass das doch einige interessieren könnte.

    Grüße
    Projecta

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Navigation / Id zu jedem Item
    Von christian.kolb im Forum Layout / Templates / Holy Grail
    Antworten: 7
    Letzter Beitrag: 30.12.2009, 13:39

Lesezeichen

Lesezeichen

Berechtigungen

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