1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

Responsive - verschiedenen Bildschirmbreiten unterschiedliche Menüs zuweisen

Dieses Thema im Forum "Design" wurde erstellt von Kai Nehr, 5. Oktober 2017.

  1. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Geht das? Die Frage scheint mir nicht abwegig, eine Lösung habe ich aber nicht gefunden :(

    Ich möchte bei meinem Theme in der Ansicht für "Mobil" ein anderes Menü angezeigt bekommen, als bei "Desktop".

    Sichtbarkeit und Aussehen des Menüs werden, logisch, per css-Klassen gesteuert.

    Hier ist der Code aus dem Header für den Aufruf des Menüs:

    HTML:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    Wir sehen, class="toggle" oben ist die Variante für kleine Bildschirme, darunter class="sitenav" steht für normal. Bei letzterem könnte ich 'primary' durch ein anderes per functions.php registriertes Menü ersetzen, 'footer' beispielsweise oder 'mobil' oder 'xyz'.

    Kann nun der php-code für das "toggle" so modifiziert werden, daß hier auch per 'theme_location' => 'blablabla' ein anderes als das primary-Menü aufgerufen wird? Leider reichen meine php-Kenntnisse dazu nicht aus.

    Grüße
    k.N.
     
  2. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Nachtrag, die Seite im Aufbau liegt auf http://pflegeteam.tagsucht.de, das Theme lhw ist ein ziemlich umgemodeltes und um weitere Templates ergänztes "BizGrowth"
     
  3. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    (Okay, also ich löse das jetzt anders, daß ich verschiedene Menüpunte in "normal" und "mobile" sehe, mit css-Steuerung)

    Aber vielleicht kann mir jemand helfen; ich komme nicht dahinter, wie das Aufklappen des Menüs in der Mobile-Ansicht ( >999px) gelöst wird.

    Klar, es gibt die /style.css, es gibt eine /css/responsive.css, und das Menü und seine Variante wird in der header.php aufgerufen.

    Damit komme ich aber nicht weiter. Da fehlt mir was. Wieso hat das Menü nur eine bestimmte Höhe, warum klappt es nur zum Teil auf, so daß verdeckte Menüpunkte gescrollt werden müssen?

    Die Seite im Aufbau liegt auf http://pflegeteam.tagsucht.de
    Das Theme "lhw" ist ein umgemodeltes und um weitere Templates ergänztes "BizGrowth"
    WP 4.8

    LG
    k.N.
     
  4. SirEctor

    SirEctor Well-Known Member
    Ehrenmitglied

    Registriert seit:
    28. Oktober 2008
    Beiträge:
    12.361
    Zustimmungen:
    427
    .sitenav bekommt bei dir eine height von 90px. Das kannst du über height: auto; ziemlich leicht korrigieren.
     
  5. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Manchmal ist man echt doof ;) - Danke! :D

    Bevor ich ein neues Thema aufmache und Du mir vielleicht auch folgendes beantworten kannst - in meinem Header steht bezüglich der Slider-Section:

    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    ..was also den Slider nur auf der Homepage zeigt. Läßt sich da etwas hinzufügen, daß das ganze auch für Archiv- und Kategorie-Seiten gilt?
     
  6. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
  7. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Hab ich auch gedacht und
    Code:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
    eingefügt. Funktioniert aber nicht so, wie ich dachte, http://pflegeteam.tagsucht.de/blog/2017/08/, also garnicht.

    Danke für den Link; ich vermute, der richtige Weg sind weitere elseif-Schleifen?

    Das Verzwickte am PHP für mich ist, daß ich zwar Muster in dieser Sprache wiedererkennen und Versatzstücke davon anwenden kann, aber da ich sie nicht richtig spreche, kommt manchmal nur Kauderwelsch heraus. Weil "Grüne Hügel ist auch Komponist viel gespielt in deutscher Landschaft" - verstehst Du? :D

    LG
    k.N.
     
  8. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
    <?php if ( is_archive() || is_front_page() && ! is_home() ) { ?>
     
  9. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Okay, danke, das klappt! Damit versuche ich mal weiterzukommen, es sollen auch noch die Artikel mit dazukommen (single)

    Ich versuche auch immernoch das If/Else Prinzip zu verstehen.. heißt das nicht eigentlich "Wenn-dann/ansonsten"? Also bei mir im Header steht jetzt eine If-Bedingung (wenn Archiv, Home etc., dann zeige mir den Slider) und irgendwann käme ja das "ansonsten", das "else" (was ist, wenn die if-Bedingung nicht gegeben ist)

    Warum gehts aber in der header.php weiter unten (ab Zeile 80) munter weiter mit dem Slider, also mit dem "dann" und nicht dem "ansonsten"?

    Ich weiß, das ist hier nicht der richtige Ort für einen PHP-Crash-Kurs ..also nur, falls Du oder jemand anders Muße hat, mir mal auf die Sprünge zu helfen ;) - ich würde nämlich gerne für alle nicht mit If-definierten Seiten immer eine andere andere ganz bestimmte Aktion ausführen. Leider ist da bei mir Schluß (ich kann's einfach nicht) ;(

    PHP:
    Entschuldige, aber du musst dich registrieren oder anmelden um den Inhalt sehen zu können!
     
  10. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
    alles was in den { } beim if steht, wird auch bei Erfüllung der Bedingung ausgeführt. Else ist nur notwendig, wenn bei nicht zutreffen was anderes ausgeführt werden soll. Wenn ansonsten nichts ausgeführt werden soll, kann das else (wäre dann ja eh leer) weggelassen werden.

    if Bedingung {
    tu dies
    } else {
    tu das
    }
     
    #10 maxe, 8. Oktober 2017
    Zuletzt bearbeitet: 8. Oktober 2017
  11. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
  12. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Theoretisch ist mir das ja klar.

    Da sich meine Seite ungeachtet dessen aber tatsächlich so verhält:

    Wenn Home- oder Archiv-Seite {
    zeige Slider
    } else {
    tu nichts
    }

    - warum ist der "else"-Bereich im Header nicht leer? Warum kommen dann da die ganzen Slider-Inhalte (img, caption, info etc.) drin vor? (s. Code-Copy weiter oben)

    Ich würde das ganze ja gerne so umstricken:

    Wenn Artikel-, Archiv-Seite oder Homepage {
    zeige Slider
    } else {
    zeige Artikelbild
    }

    Das ist mit aber leider zu hoch.

    (Eigenes Thema aufmachen?)
     
    #12 Kai Nehr, 9. Oktober 2017
    Zuletzt bearbeitet: 9. Oktober 2017
  13. mensmaximus

    mensmaximus Well-Known Member

    Registriert seit:
    24. Juli 2014
    Beiträge:
    8.857
    Zustimmungen:
    437
    Ganz sicher nicht, denn wie Du schon selbst erkannt hast, ist das kein PHP Forum und Dein "Problem" ist nicht durch WordPress verursacht sonder durch mangelnde PHP Kenntnisse. @maxe hat Dir alles notwendige gesagt und ich auch.
     
  14. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Und dafür danke ich Euch auch.

    Aber fragen kann ich doch. Vielleicht hat jemand eine ähnliche Problemstellung gehabt oder ein entsprechende Lösung parat...?

    LG
    k.N.
     
  15. maxe

    maxe Well-Known Member
    Ehrenmitglied

    Registriert seit:
    1. Mai 2008
    Beiträge:
    19.581
    Zustimmungen:
    277
    es gibt kein ELSE auf das bezogene IF. Der IF hört in Zeile 115 mit der letzten } auf.

    Es gibt lediglich ein ELSE auf das IF(!empty($id_arr)){ ...
     
  16. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Oh! :wink:

    Ich seh' das eben nicht auf den ersten Blick :roll:
    Danke!

    (bzw. auf den zweiten, dritten, vierten und den fünften Blick..)
     
    #16 Kai Nehr, 9. Oktober 2017
    Zuletzt bearbeitet: 9. Oktober 2017
  17. Kai Nehr

    Kai Nehr Well-Known Member

    Registriert seit:
    14. Juli 2008
    Beiträge:
    119
    Zustimmungen:
    0
    Es hat übrigens funktioniert - besten Dank nochmal!
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden