Ergebnis 1 bis 11 von 11

Thema: Navigation, je nach Modul austauschen?

  1. #1
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard Navigation, je nach Modul austauschen?

    Hi,
    ich habe meine Standart Navigation die überall angezeigt wird.

    Wenn ich aber eine Landingpage erstelle, möchte ich eine andere Navigation. Wie kann ich das jetzt machen, wenn es einen Artikel, der in der Navigation angezeigt wird, soll nicht die Standart Navigation angezeigt werden, sondern die aus dem Artikel?

    LG & Danke

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Ganz habe ich dein Vorhaben nicht verstanden, aber es hört sich so an, als bräuchtest du für die Landing Page einfach ein eigenes Seitenlayout?

  3. #3
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Kannst Du das verständlicher formulieren? Anhand Deiner Beschreibung verstehe ich nicht, was Du erreichen möchtest.

  4. #4
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Ich möchte erreichen, dass wenn der Bereich "landing_navi" ausgefüllt ist, dass die Standart Navigation nicht mehr angezeigt wird.

  5. #5
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Tja, weil Du es wieder so diffus ausdrückt, kann ich nur raten, was genau Du meinst.

    Falls "ausgefüllt" die Existenz des Elements bedeuten soll und "landing_navi" ein Element mit CSS-Id oder CSS-Klasse ist, kannst Du Deine Standard-Navi und dieses Element mit einer kleinen im Layout platzierten JS/mooTools/jQuery-Funktion wechselseitig ein-/ausblenden.

    Dafür musst Du entweder für die wechselseitigen Situationen Custom-Events triggern, oder die Funktion in eine Zeitschleife legen.

    Z. B. so (jQuery-Beispiel, nicht getestet, halt entsprechend Deines konkreten Layouts erweitern/anpassen). Sollte Deine Spezial-Navi auf den betreffenden Seiten nicht nur situationsbedingt vorhanden sein, sondern generell, benötigst Du natürlich keinen Intervall. In dem Fall die Funktion einfach bei domready im Head aufrufen oder vor dem schließenden Body-Tag platzieren. Außerdem wäre dann auch der Else-Zweig der If-Abfrage überflüssig. Sollte im Layout außer jQuery auch MooTools geladen werden, muss das Skript natürlich im No-conflict-Mode laufen oder Du schreibst es auf MooTools oder natives JS um. ...
    Code:
    <script>
    function navChange() {
        var lNavDisplay=$(".landing_navi").css("display");
        if(lNavDisplay==="block"){
            $("#header nav").hide();
        }else{
            $("#header nav").show();
        }
    }
    setInterval(function() {
        navChange();
    }, 150);
    </script>
    Geändert von soweit_ok (13.06.2016 um 11:25 Uhr)

  6. #6
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Doch etwas anders.

    Wenn die Variable:
    PHP-Code:
    <?php echo $this->sections['landingpage_navi']; ?>
    Einen Inhalt hat, was ja dann die Navigation für die Landingpage ist, soll die Standart Navigation die sich in:
    PHP-Code:
    <?= $this->header ?>
    befindet ausgeblendet werden, ich weis nur nicht, wie ich die Navigation ausblende mit PHP.

  7. #7
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.109
    Partner-ID
    10107

    Standard

    Warum gibst du die Navigation der Landing Page in einen eigenen Bereich? Warum verwendest du nicht einfach eigene Seitenlayouts?

  8. #8
    Gesperrt
    Registriert seit
    07.05.2011.
    Beiträge
    1.199

    Standard

    Ja, Spooky´s Frage kann ich mich nur anschließen. Aber k. A., vielleicht hast Du ja besondere Gründe. Du kannst auch im Template mit Javascript im Template, dass bei Ausgabe der genannten (nicht leeren) PHP-Variable die Hauptnavi ausgeblendet wird.

  9. #9
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Weil ich mit möglichst wenig Seitenlayouts für den Endnutzer arbeiten möchte und das ganze am liebsten nur PHP, nicht JS.

    Gibt es für den Header ein template, wo drinnen steht, als welchen Variablen er sich zusammen setzt, da könnte ich das dort gleich editieren?
    Geändert von fr3d83 (13.06.2016 um 13:34 Uhr)

  10. #10
    Contao-Fan
    Registriert seit
    13.12.2012.
    Beiträge
    621

    Standard

    Ich habe mir das jetzt so gebastelt aber irgend wo ist ein Fehler?

    PHP-Code:
    <?php if ($this->sections['Landingpage_Navi']): ?>
                        <?php echo $this->sections['Landingpage_Navi']; ?>
                    <?php else: ?>
                        <?php echo $this->sections['navigation']; ?>
                    <?php endif; ?>

  11. #11
    Alter Contao-Hase
    Registriert seit
    06.07.2009.
    Beiträge
    1.493

    Standard

    PHP-Code:
    <?php 
    $modul_1 
    $this->replaceInsertTags('{{insert_module::180}}');
    $modul_2 $this->replaceInsertTags'{{insert_module::204}}');  
    $this->import('FrontendUser''User');
    if(
    $this->User->isMemberOf(3))
    {echo 
    "$modul_1";}

    else

    {echo 
    "$modul_2";}
    ?>
    Ich habe sowas ähnliches im Einsatz... vielleicht hilft dir das aj weiter!

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
  •