Protostar Menüaufbau PHP - Wirrwar

  • Hallo miteinander


    Aufgrund von Datenschutz-/-sparsamkeits-gedanken und dem Wunsch, möglichst wenig JS zu verwenden, bin ich gerade dabei, mir das Protostar template zu überarbeiten.
    Dazu möchte ich gerne diesen Ansatz fürs Menü verwenden: https://codepen.io/victorcopque/pen/OVxRbq?editors=1100
    Leider scheiter ich daran, die Reihenfolge/Schachtelung der a und li tags zu tauschen. Ich hätte gerne, dass die li tags in a tags sind.

    Meine bisherigen Ansätze mit dem anpassen der default.php im Zeilenbereich ab 69 führen lediglich zu einem verschachteln von a tags, ohne Funktionalität, dies da ich die Verwendung und Möglichkeiten zur Anpassung des JModuleHelper nicht wirklich verstehe. - Vielleicht bin ich einfach zu müde, aber ich hab jetzt 8h daran herumprobiert, ohne das erwünschte Ergebnis. Mein Ansatz der dem ganzen am nähesten kam, ich allerdings nicht als sauber erachte und sich nach wie vor mit dem Problem aufgrund der fehlenden Klasse im a tag nicht umsetzen lässt, wäre es, einfach mit fixen grössen zu arbeiten, aber das gefährdet die responsive"ness".


    Vielleicht hat ja jemand des Problemslösung direkt zur Hand.


    Ich danke für alle helfenden Antworten.


    MfG YAOU

  • dies da ich die Verwendung und Möglichkeiten zur Anpassung des JModuleHelper nicht wirklich verstehe.

    Die require-Zeilen der Art https://github.com/joomla/joom…/tmpl/default.php#L71-L82 sagen nicht mehr als: "Wenn der Menüeintragstyp vom Typ Component ist, dann lade hier an dieser Stelle die Datei default_component.php. Wenn sie vom Typ Separator ist, dann lade die Datei default.separator.php usw." In diesen Dateien werden dann die a-Tags gebastelt. Auch diese kann man "overriden". Wenn kein Override existiert, wird halt die aus dem Ordner /modules/mod_menu/tmp/ genommen.

    Nichts hindert dich daran, die require-Zeilen durch eigenen Code direkt in der default.php zu ersetzen.


    Attribute für die A-Tags kannst in der default.php via

    $item->anchor_title

    $item->anchor_css

    $item->anchor_rel

    manipulieren, wenns nur darum geht.

  • Hi und danke für die Antworten, war zwischenzeitlich am schlafen^^


    Das verschachteln von li tags in a tags im Validator flags erzeugt, ist mir bewusst, wird aber in Kauf genommen. - Die Plattform richtet sich an einen eher kleinen Kreis, mir bekannten Kreis, die die Webseite ohne spezielle Tools aufsuchen können, die Barrierefreiheit ist daher definitiv irrelevant.


    Naja, mit li stylen kommt ein Hover-react wenn man auf diese fährt, aber der klick funktioniert nur, wenn man im Bereich des a-tags ist. (was ja gegen POLS ist und wie ich finde auch einfach wüsst.) Ausserdem muss ich ich die darunter liegenden Menüs auch noch die tags anpassen. Ich spiele eh mit dem Gedanken, statt ul und li mit div und direkt a zu arbeiten, da dies in meinen Versuchen besser funktioniert hat.

  • Bevor du dich da zu sehr am Markup aufhängst: Soweit ich das sehe, kann man den gleichen Effekt auch mit der sauberen Menüstruktur, die Protostar vorgibt, umsetzen (ul - li - a): https://codepen.io/zweiiconkram/pen/XWmjRwd?editors=1100


    Den a-Tags ein display:block mitgeben, damit sie das gesamte li ausfüllen, und die li-Elemente dann neben- bzw. untereinander anordnen. Die Unterschiede im CSS sind minimal: https://www.diffchecker.com/A9ZgOpTA

    Musst mal gucken, ob ich irgendwas übersehen habe, ich hab das jetzt in ein paar Minuten zusammengebastelt. Aber grundsätzlich sehe ich bei diesem Beispiel keine Anforderung, die nicht mit CSS lösbar ist.

  • Wenn deine Plattform online gehtist sie weltweit aufrufbar (ausser du hast ein Passwort davor). Ich finde es super, dass du dich reinfuchsen willst und mit einem pen arbeitest.

    Ich glaube trotzdem, dass du besser beraten wärst, wenn du den von Joomla erzeugten code stylen swürdest tatt den Joomla-Code an einen pen anzupassen.


    Zum Beispiel:

    Ein <a tag wird so hoch wie der umgende <li tag, wenn du ihn mit display: block und evtl. line-height und padding was es eben gibt, auf das gesamt <li vergrößerst.


    Ach .. jetzt habe ich zu lange rumgetrödelt. Harmageddon war schneller

  • Harmageddon thx für den Ansatz, da hab ich gar nicht dran gedacht.


    firstlady: Ich hab nicht zum ersten mal mit Joomla zu tun, also an dem liegts schon nicht, aber so Webdesign hab ich seit nem Jahr nicht mehr gross was gemacht, davor für kleinere Firmen, da war aber Datenschutztechnisch das ganze relativ einfach, weil einfach Zusammenstellen, was ich verwendet habe, und deren legalpartner hat das dann zusammen gefrimmelt.
    Das letzte Jahr war eben vor allem MCs und Java - Studium bedingt.
    Passwort davor ist ja ein leichtes, respektive mach ich sowieso auch immer mit htaccess für den Admin, Piwik und den Webalizer-Bereich. Ist eh selbstgehostet. Der Einfachheitshalber kein CentOS sonder "nur" Ubuntu. Da nun ein globales Ruleset zu definieren ist jetzt nicht die Kunst. Aber weil das halt für mich selber ist, und ich keine Anwaltspartner habe, muss das Datenschutztechnisch alles bulletproof konzipiert sein, deswegen Protostar-Unterbau.


    Danke euch aber für die Antworten.