Support » Themes » Hauptmenü soll stehenbleiben (Themebasis: Yoko)

  • Gelöst sidewinderpeter

    (@sidewinderpeter)


    Hallo liebe Leute,

    leider bin ich kein Programmierer, weshalb es mich schon erstaunt, was ich zustande gebracht habe: ich habe das Theme Yoko aus diversen Gründen als Basis für die Erstellung einer Multisite meines Sportvereins verwendet(http://tv-altoetting.de/). Mir gefiel unter anderem, dass es responsiv war, dass zwei Sidebars schon vorprogrammiert waren…alles Anforderungen, die ich nach dem „Kundenwunsch“ gebraucht habe.
    Ich habe dann aber massiv an der style.css rumgeschraubt, bis dieses Ergebnis rauskam. Jetzt wäre es mir aber generell ganz lieb, die doch etwas statisch wirkende Seite(was sie aber auch sein sollte, also es sollte z.B. auch für Ältere noch einigermaßen übersichtlich sein) ein bisschen dynamisieren. Einige Punkte stechen mir immer negativ ins Auge, aber da ich, wie gesagt, kein Programmierer bin, bekomm ich das einfach nicht hin.
    1. Es fängt schon damit an, dass die jeweils gerade aufgerufene Unterseite der Multisite(die einzelnen Sportarten, die ja alle in den beiden Sidebars aufgelistet sind) dann dort auch gehighlightet wird. Ich hab keinen Blassen, wie ich das anstellen soll, weil ich diese sidebars ziemlich aufwändig manuell konstruiert habe, indem ich in das Widget einfach die Links manuell eingefügt habe(also kein PHP – dann ginge es vermutlich über den Schlüssel). Gibt es da keine „if“-Konstruktion? 😀
    2. Fast noch wichtiger wäre, dass das obere Hauptmenü der jeweiligen Unterseiten, so, wie man es in letzter Zeit oft auf Seiten sieht, beim nach unten scrollen am oberen Bildschirmrand stehen bleibt. Das würde bei Orientierung und Steuerung der Seite doch einigermaßen helfen, denke ich. Das Problem ist aber beim Theme Yoko, dass das Menü ein Bestandteil bzw. der letzte Teil der header.php(inklusive Headerbild) ist, die dann in der index.php einfach vor dem Loop und dem Footer aufgerufen wird. Vermutlich geht das mit Java-Script, zumindest gibt es hierzu haufenweise Posts. Das Problem ist aber, dass die Beispiele da immer so gestaltet sind, dass es nativ programmiert ist, also ohne PHP. Soll heißen, dass ich natürlich eine statische Seite so schon programmieren könnte. Das Ziel ist ja aber, dass das System zumindest im Prinzip auch von den ganzen Verantwortlichen aus den einzelnen Sportabteilungen verstanden wird. Und die können noch weniger programmieren, als ich. Insofern ist das Backend von Yoko schon ganz gut und das haben die Leute auch für gut befunden. Dilemma.

    Kennt sich hier irgendwer mit Yoko aus und kann mir ggf. Tipps geben?`

    Beste Grüße,

    Peter

Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Da hast du ja mal einen deftigen Textblock hingestellt. 🙂
    Ich möchte nur zum zweiten Punkt was beisteuern:

    2. Fast noch wichtiger wäre, dass das obere Hauptmenü der jeweiligen Unterseiten, so, wie man es in letzter Zeit oft auf Seiten sieht, beim nach unten scrollen am oberen Bildschirmrand stehen bleibt.

    Hast du dafür schon diese Plugins getestet?
    https://de.wordpress.org/plugins/mystickymenu/
    https://de.wordpress.org/plugins/sticky-menu-or-anything-on-scroll/

    Ich habe dann aber massiv an der style.css rumgeschraubt …

    Das ist völlig OK, wenn du das CSS entweder mit einem Plugin wie Simple Custom CSS hinzufügst oder aber ein richtiges Child Theme erstellst. Mit richtig meine ich, dass ein Child Theme eine Ergänzung zu einem bestehenden Theme ist. Ich habe aber den Eindruck, dass du Änderungen direkt im Theme selbst gemacht hast? Wie soll irgendwann mal ein Nachfolger deine Änderungen nachvollziehen? Wie willst du künftig Aktualisierungen des Themes durchführen, ohne dass deine Änderungen verloren gehen?

    Elmastudio hat auch eine Anleitung geschrieben, wie du ein Child Theme richtig erstellst. Schau dir das doch nochmal an: http://www.elmastudio.de/2015/04/30/ein-wordpress-child-theme-anlegen-so-gehts-richtig/

    1. Es fängt schon damit an, dass die jeweils gerade aufgerufene Unterseite der Multisite(die einzelnen Sportarten, die ja alle in den beiden Sidebars aufgelistet sind) dann dort auch gehighlightet wird. Ich hab keinen Blassen, wie ich das anstellen soll, weil ich diese sidebars ziemlich aufwändig manuell konstruiert habe, indem ich in das Widget einfach die Links manuell eingefügt habe(also kein PHP – dann ginge es vermutlich über den Schlüssel).

    Es gibt viele Anwender, die WordPress ohne Programmierkenntnisse nutzen. Dazu werden ja gerade fertige Themes und Plugins angeboten und viele Entwickler machen sich sehr viel Mühe, die Funktionalität so ausführlich zu beschreiben, dass sie auch für Laien verständlich ist.

    Dein Weg, Links manuell einzufügen, ist aber eine Sackgasse. Auch hier kommst du schnell an den Punkt, dass für andere, die die Pflege irgendwann mal übernehmen, nicht nachvollziehbar ist, was (und wieso) manuell eingefügt wurde. Ich würde hier erst einmal nach Plugins suchen, mit denen die gewünschte Funktionalität umzusetzen ist. Die fertige Lösung ist dann weniger „gefrickelt“, erspart dir den Programmieraufwand und die Funktionalität des Plugins ist auf Grund der Dokumentation für andere später leichter nachvollziehbar. Das Widget Multisite List Widget fügt z.B. die Links zu allen Multisite-Blogs als Sidebar-Widget ein. Mit Multisite Shared Sidebar kannst du ein Widget übergreifend auf mehreren Multisite-Blogs anzeigen.

    Um bestimmte Dinge je nach angezeigten Blog hervorzuheben, könntest du folgenden Code der functions.php des Child Themes (!) hinzufügen:

    
    add_filter('body_class', 'multisite_body_classes');
    
    function multisite_body_classes($classes) {
            $id = get_current_blog_id();
            $classes[] = 'site-id-'.$id;
            return $classes;
    }
    

    Ergebnis ist, dass dem HTML-Tag <body> eine CSS-Klasse site-id-3 hinzugefügt wird, wobei die Ziffer 3 jeweils mit der ID des gerade angezeigten Blogs ersetzt wird. Damit kannst du dann Inhalte leichter hervorheben. Nehmen wir an, du fügst als Text-Widget folgendes HTML ein …

    
    <ul>
    <li><a href="blog-1.abc.de" class="blog-1">blog-1</a></li>
    <li><a href="blog-2.abc.de" class="blog-2">blog-2</a></li>
    <li><a href="blog-3.abc.de" class="blog-3">blog-3</a></li>
    <li><a href="blog-4.abc.de" class="blog-4">blog-4</a></li>
    </ul>
    

    Nun kannst folgendes CSS hinzufügen:

    
    .site-id-1 .blog-1,
    .site-id-2 .blog-2,
    .site-id-3 .blog-3,
    .site-id-4 .blog-4 {
      color: red;
      font-weight: bold;
    }
    

    Den fixierten Header bekommst du (wieder in einem Child Theme!) mit CSS hin.
    Mit

    
    header#branding {
        position: fixed;
        z-index: 99;
        background: white;
    }
    

    … kannst du den Header fixieren. Damit der restliche Text nicht drunter her läuft, gibst du ihm einen entsprechenden Abstand (margin) mit:

    
    div#main, div#tertiary {
        margin: 300px 0 0 0;
    }
    

    Wobei es für dich sicher hilfreich wäre, wenn du dich ein wenig mit CSS auseinandersetzt – damit hast du schon sehr viele Möglichkeiten. Eine gute Einführung findest du z.B. beim Mozilla Developer Network.

    Viel Erfolg.

    Thread-Starter sidewinderpeter

    (@sidewinderpeter)

    Erstmal danke Leute, für Eure schnelle Reaktion.

    @flower: ja, ich habe diverse Plugins ausprobiert. Alle, die ich ausprobiert habe funktionieren aber mit Yoko nicht. Wie ich schon beschrieben hab, liegt das Problem wohl darin, dass das Hauptmenü als SQL-Referenz in die header.php unten eingefügt ist. Die Index.php, also das Mainframe wird aber aus Header-, Loop- und Footer.php zusammengebastelt. Entweder würde also der ganze Header immer stehen bleiben(was ich aber nicht will, weil das Foto einfach zu groß ist und schon ein drittel des Bildschirms wegnimmt) oder der Header verschwindet komplett, also inklusive Menü…

    @bmg: Super Antwort! Da sind einige Anhaltspunkte drin, die mir (hoffentlich) weiterhelfen werden: das mit dem Highlight werde ich auf der Basis mal umzusetzen versuchen.
    Über das Problem, dass das irgendwann mal wer anders macht, bin ich längst hinaus…das wird wohl eh nicht laufen mangels Interesse, sich da reinzuarbeiten. Das Problem war, dass der „Kunde“(ich bin ja selbst Vereinsmitglied und in der Fußballabteilung federführend) einfach bestimmte Anforderungen hatte, die ich mit meinen bescheidenen Kenntnissen nicht anders umzusetzen wusste. Die von Dir erwähnten Plugins und andere hatten alle irgendeinen Pferdefuß oder waren generell nicht multisiteverträglich, also nicht brauchbar. Bei der Root-Installation, die ich habe, gehen oft sogar dezidierte Multisite-Plugins gar nicht. Daher diese ganze manuelle Handauflegung. Mit der Folge, dass ich selbst teilweise gar nicht mehr weiß, wie ich das gemacht habe(Scherz).

    Ansonsten, wegen Child-Theme: angefangen hab ich auf nem Test-Server damit, im Original rumzufrickeln. Als ich dann im Laufe der Zeit drauf kam, habe ich natürlich ein Child angelegt. Das Problem war, dass es mir zweimal bei Updates die kompletten Themes zerschossen hat, obwohl die Childs richtig angelegt waren und ich nochmal von vorne anfangen durfte(zig Arbeitsstunden). Außerdem sind teilweise Änderungen, die ich im Child vorgenommen habe, dann partout nicht angezeigt worden, weils wohl nen „override“ durch das Parent-Theme gab usw. Das ganze stellte sich trotz strikter Befolgung der Anweisungen von Elmastudios zur Erstellung von Child-Themes für mich höchst mysteriös dar. Daher habe ich irgendwann das Child (wieder) zum Main gemacht, und die Setupdaten oben entsprechend geändert, sodass nun sicherlich kein Update mehr kommt…außer Elma bringt irgendwann Version Zweimilliarden raus 🙂

    Du hast die Freiheit, WordPress für jeden Zweck ausführen wie du möchtest.(Quelle: Seite Open Source)

    Du kannst machen, was du willst und ich verstehe auch, dass du kreative Workarounds nutzt, wenn du als Nicht-Programmierer nicht weiterkommst. Die möchte ich auch gar nicht werten, ich versuche nur, dir bessere Wege aufzuzeigen.

    Meine erste mit WordPress erstellte Website war für den Kindergarten unserer Tochter. Dieser „Kunde“ hatte auch ganz viele Wünsche und Vorstellungen, alle bitte möglichst schnell umgesetzt, kostet doch nichts, ist doch alles Open Source … Ich erzähle das nur, weil ich es im Nachhinein betrachtet als wichtig empfinde, sich bei allem ehrenamtlichen Engagement gegen zu große „Nehmer-Qualitäten“ abzugrenzen. Manche Dingen gehen, andere sind so komplex, dass man einen Dienstleister beauftragen muss. Webentwickler verlangen ihr Honorar nicht, weil sie Kunden unverschämt abzocken möchten, sondern weil sie sich über einen langen Zeitraum eingearbeitet haben und die Umsetzung bestimmter Wünsche weder trivial ist, noch sich von selbst erledigt.

    WordPress ist zwar als Content Management System für jedermann gedacht und selbst Laien können mit den angebotenen Themes und Plugins bereits passable Websites erstellen, aber ab einem gewissen Grad ist mehr Know-How notwendig. Ich würde mich auch nicht selbst operieren, weil ich weiß, wie man ein Skalpell hält.

    Die Installation einer Multisite ist für viele Anwender schon eine Herausforderung.
    Deshalb: Respekt vor deiner Leistung!

    • Diese Antwort wurde geändert vor 7 Jahren, 7 Monaten von Bego Mario Garde.
    • Diese Antwort wurde geändert vor 7 Jahren, 7 Monaten von Bego Mario Garde.
    • Diese Antwort wurde geändert vor 7 Jahren, 7 Monaten von Bego Mario Garde. Grund: Tippfehler
    Thread-Starter sidewinderpeter

    (@sidewinderpeter)

    @bego mario:

    Danke nochmal für den Tipp mit add_filter!!! Genial, hat geklappt.

    Mit dem Menü muss ich mal schauen. Überhaupt scheint ja da mit den Transitions noch Einiges mehr machbar, als das, was ich eh schon gegoogelt hatte; damit die Seite etwas „smoother“ ausschaut: Akkordeon mit Hintergrundgrafik z.b. kommt mir da in den Sinn…

    Und nochmal zum Thema Nachvollziehbarkeit und einfach machbar: wichtig war ja die Umstellung auf WordPress, die ich empfohlen habe. Damit haben wir alles in einer DB. Wenn jetzt irgendwann jemand draufkommt, er könnte die Site schöner oder besser machen, kann er das ja anhand der von Dir genannten Plugins gerne machen. Als ich das vor fast nem Jahr mir das erste Mal angeschaut hab und dann alles Mögliche auf meinem Testserver ausprobiert hab, bin ich eben nicht auf diese Plugins gestoßen, obwohl ich mich lange damit beschäftigt hab. Hinzu kam der Providerwechsel. Ich musste also sowieso alles komplett neu aufsetzen(der alte Provider hat nur ziemlich teuer ein proprietäres CMS angeboten). Daher die viele „Handarbeit“.

    Jedenfalls: Danke nochmal!!!

    Beste Grüße,

    Peter Becker

    • Diese Antwort wurde geändert vor 7 Jahren, 7 Monaten von sidewinderpeter.
    • Diese Antwort wurde geändert vor 7 Jahren, 7 Monaten von sidewinderpeter.
Ansicht von 5 Antworten - 1 bis 5 (von insgesamt 5)
  • Das Thema „Hauptmenü soll stehenbleiben (Themebasis: Yoko)“ ist für neue Antworten geschlossen.