[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
Klasse nav42 - eine erweiterte rex_navigation - Seite 4 - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Klasse nav42 - eine erweiterte rex_navigation

20. Okt 2014, 10:36

oder du bleibst bei der ul und schaust dass du sie so stylst wie du sie haben möchtest. die &nbsp's kann man übrigens mit margin/padding realisieren und die | kann man über den :after oder :befor selector per CSS einfügen.

Benutzeravatar
himmelreich
Beiträge: 51
Registriert: 1. Mär 2007, 09:56

Re: Klasse nav42 - eine erweiterte rex_navigation

20. Okt 2014, 12:14

Hallo RexDude,

danke für deine schnelle Antwort.

Habs wie folgt gelöst:

Code: Alles auswählen

<?php 
foreach (OOCategory::getChildrenById(27, true, $REX['CUR_CLANG']) as $fna){
	echo '&nbsp;&nbsp;|&nbsp;&nbsp;<a href="'.$fna->getUrl().'">'.$fna->getName().'</a>'."\n";
} ?>
Gruß Himmelreich

wolfgang
Beiträge: 126
Registriert: 20. Okt 2005, 20:52
Wohnort: 23966 Tressow
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

18. Nov 2014, 11:51

In der Standard rex_navigation kann ich folgende Konstruktion machen:

Metafeld anlegen cat_menutype, als Checkbox
Felddefinition: 1:Hauptmenü|2:Footer

Dann kann ich im Template so eine Hauptnavigation machen:

Code: Alles auswählen

$nav = rex_navigation::factory();
$nav->addFilter('cat_menutype', '|1|', 'regex');
echo $nav->get();
bzw. mit

Code: Alles auswählen

$nav->addFilter('cat_menutype', '|2|', 'regex');
eine Fußnavigation

Und kann so ganz flexibel irgendwelche Navigationen zusammen bauen. Nun hab ich nicht gefunden, wie das mit nav42 geht.

Es kommt bei mir öfter mal vor, dass bestimmte Menüpunkte irgendwo ein- und ausgeblendet werden sollen und dies über das Backend gesteuert werden sollte und nicht über die Programmierung. Klar könnte ich das mit Klassen machen und diese über CSS ausblenden - finde ich persönlich aber nicht so hübsch. Da habe ich ein wenig Sorge wegen seo.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

18. Nov 2014, 12:40

Hallo Wolfgang,

ich weiß nicht, ob es einen ähnlich kurzen Weg gibt wie in der rex_navigation, aber es gibt auf jeden Fall setLinkFromUserFunc, mit dem sich das auf jeden Fall (und noch viel mehr) realisieren lässt.
Schau mal in den Codebeispielen des AddOns.
Hier auch ein Anwendungsbeispiel, allerdings umfangreicher, in ähnlichem Kontext:
http://www.redaxo.org/de/forum/addons-f ... ml#p112703

Peter.

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Klasse nav42 - eine erweiterte rex_navigation

18. Nov 2014, 12:42

HI,
mit diesem u.s. Template werden MetaInfo Felder für Kategorie mitangelegt
indem man dann die Ausgabe-Position der jeweiligen Kategorie/NaviPunkt steuern kann.

http://www.redaxo.org/de/download/templ ... =&cat_id=2

grz.Chris

Benutzeravatar
Larsen
Beiträge: 34
Registriert: 3. Nov 2009, 22:39

Re: Klasse nav42 - eine erweiterte rex_navigation

12. Feb 2015, 12:49

Hi Darwin,

dort bei der nav42extend steht
nur für SEO42 v3.3.0
Heisst das, es ist mit erratischem Verhalten in Verbindung mit aktuelleren SOE42 Versionen zu rechnen?

Versuche nämlich gerade dem Phänomen auf den Grund zu gehen woher die zusätzlichen <ul></ul> in meiner extended nav42 kommen. Struktur wird mir momentan so erzeugt:

Code: Alles auswählen

<ul class="nav navbar-nav">
    <li class="hasChilds dropdown">
        <a href="..." class="dropdown-toggle" data-toggle="dropdown">1.<b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li class="first">
                <a href="...">1.1</a>
            </li>
            <li class=" ">
                <a href="h...">1.2</a>
            </li>
            ...
        </ul>
    </li>
    <li class="hasChilds dropdown">
        <a href="..." class="dropdown-toggle" data-toggle="dropdown">2. <b class="caret"></b></a>
        <ul class="dropdown-menu">
            <li class="first">
                ...
            </li>
        ...
    ...
    <ul class="dropdown-menu"></ul>
    <ul class="dropdown-menu"></ul>
    <ul class="dropdown-menu"></ul>
    <ul class="dropdown-menu"></ul>
    <ul class="dropdown-menu"></ul>
</ul>
Am Ende werden mit 5 leere <ul> rausgegeben. Ich habe auch die Meta-Felder der Kategorien gecheckt, ob da noch irgendwo was falsch eingestellt ist. Aber soweit ist das alles korrekt.

Achja, der Code für die nav42extend ist dieser hier:

Code: Alles auswählen

<?php
                $nav_bar = new nav42extend();
                $nav_bar->setLevelDepth(2);
                $nav_bar->setShowAll(true);
                $nav_bar->setIgnoreOfflines(true);
                $nav_bar->setSelectedClass("current");
                $nav_bar->setActiveClass("active");
                $nav_bar->setUlClass('nav navbar-nav',0);
                $nav_bar->setUlClass('dropdown-menu',1);
                $nav_bar->setHideWebsiteStartArticle(true);
                $nav_bar->setHasChilds(true);
                $nav_bar->setNavPosition(true);
                $nav_bar->setNavPositionId(1);
				
                echo $nav_bar->getNavigationByCategory(0);
                ?>
Gruss, Lars

Benutzeravatar
darwin
Beiträge: 1725
Registriert: 2. Jan 2007, 17:10
Wohnort: LA

Re: Klasse nav42 - eine erweiterte rex_navigation

12. Feb 2015, 12:54

Hi Lars,
yep, sry ... werd demnächst mal da wieder rangehen.

grz. Chris

Benutzeravatar
Larsen
Beiträge: 34
Registriert: 3. Nov 2009, 22:39

Re: Klasse nav42 - eine erweiterte rex_navigation

12. Feb 2015, 14:57

schön zu wissen. Danke für die Mühe.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

25. Mär 2015, 22:39

Guten Abend.

Wie kann man denn mit nav42 die Kategorien IDs mit ausgeben lassen?
Z.B. <li id="4"><a href="....

Finde keine Lösung. Muss via jQuery ein Listenpunkt einfügen und brauche eine eindeutige ID für den Listenpunkt davor (da flexibles System)

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

25. Mär 2015, 23:46

Das sollte mit setLinkFromUserFunc funktionieren. Kuck Dir mal das Codebeispiel im SEO42-AddOn an.

Übrigens, früher durften CSS-Klassen und -IDS keine Zahlen sein, bzw. nicht mit einer Zahl beginnen. Weiß aber nicht, ob das immer noch so ist.

Grüße,
Peter.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 11:08

Moin Peter, danke für deine Antwort.

Leider komme ich mit dieser Funktion nur an den Inhalt der <li>, sprich den Link, etc
Ich möchte aber, wie bei anderen CMS Systemen, die Listenpunkten eindeutig markieren.
Sehr schade, dass es offenbar nicht geht.

Und klar, du hast recht mit den Zahlen bei IDs, war nur auf die Schnelle als Beispiel :)

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 11:23

Mit jQuery kannst du dich vom A zum Li und sonst wohin hangeln.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 11:25

Ah, ok.
Gut, dann hast Du zwei Möglichkeiten: Du erweiterst die class.nav42.inc.php. Du könntest Dir dabei "liClassFromMetaField" als Vorbild nehmen, um Dir damit Deine eigene Funktion abzuleiten.
Oder Du machst die Navi manuell. Hinweise dazu findest Du hier:
http://www.redaxo.org/de/doku/tutorials ... avigation/

Oder kuck Dir mal die "normale" rex_navigation an, ich meine mich zu erinnern, dass da so ein HTML-Output sogar drin ist, bin aber nicht sicher, da ich die nie verwendet habe.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 11:37

RexDude hat geschrieben:Mit jQuery kannst du dich vom A zum Li und sonst wohin hangeln.
Habe ich auch gemacht. Nur ist es nicht sonderlich dynamisch.
Wenn der Kunde einen neuen Menüpunkt einfügt, kann ich das nicht mehr zuordnen.
Und jQuery mit regex will ich aus Performancegründen nicht nutzen.

Eine saubere Lösung wäre jedenfalls IDs vergeben zu können.
So kann man auch via CSS vieles besser anpassen. Und ist ja bei CMS Navis eigentlich auch Standard.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 11:38

Peter.Bickel hat geschrieben:Ah, ok.
Gut, dann hast Du zwei Möglichkeiten: Du erweiterst die class.nav42.inc.php. Du könntest Dir dabei "liClassFromMetaField" als Vorbild nehmen, um Dir damit Deine eigene Funktion abzuleiten.
Oder Du machst die Navi manuell. Hinweise dazu findest Du hier:
http://www.redaxo.org/de/doku/tutorials ... avigation/

Oder kuck Dir mal die "normale" rex_navigation an, ich meine mich zu erinnern, dass da so ein HTML-Output sogar drin ist, bin aber nicht sicher, da ich die nie verwendet habe.
Ja, die "alten" Möglichkeiten kenne ich. Fragte mich nur, ob es nav42 nicht auch kann. Immerhin ist es ein sogenanntes Update bzw. Erweiterung der Standard-Navigation von Redaxo. Und gerade wegen der Sprach-Funktionen, etc. wollte ich bei nav42 bleiben. Notfalls aber eben zurückswitchen.

Danke dir!

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 11:58

nav42 war nie wirklich als Ergänzung/Erweiterung zur rex_navigation gedacht sonder eher als Alternative :)

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 12:15

Muss aber nicht bedeuten, dass sie weniger gut/nützlich ist :)

Wie gesagt, eigentlich ist die Vergabe(möglichkeit) von eindeutigen IDs Standard.
Es ändert ja nichts an der Semantik, noch schränkt es irgendwas ein - im Gegenteil.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 12:49

Geschmäcker sind halt verschieden. Ich zumindest bin heilfroh, dass da bei nav42 nicht standardmäßig der "CSS-Klassen/ID-Müll" drin ist, den z.B. eine Wordpress-Navi ausspuckt.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 12:54

Hat nichts mit Geschmack zu tun, wie ich finde.
Es geht ja nicht darum ob es gut aussieht, sondern dass es die Funktionalität und die Performance steigern kann.

Warum sollte es Müll sein? Im Idealfall ist es eine Option der Navigation.
Du liest ja nicht den Quellcode, sondern der Browser.

Edit: geht auch bisschen darum, ob Redaxo (bzw die Extension hier) nicht mal den Anschluss an andere CMS verliert. Aber rumgewurschtel geht immer :) Ist für mich halt nicht mehr uptodate und ich nutze Redaxo wirklich sehr lange mittlerweile.

Benutzeravatar
RexDude
Beiträge: 2543
Registriert: 22. Apr 2010, 11:24

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 13:12

@phloo: dann erweitere die Klasse doch einfach und trage so zur Enwicklung = Open Source ;) So habe ich es auch gemacht (nicht nur bei der nav42) :P

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 13:14

Wenn das zulässig ist, gerne. Wusste nicht, dass das Projekt frei ist.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 13:15

Ich finde, als verantwortungsvoller "Frontendler" legt man auch Wert auf sinnvollen, aufgeräumten und möglichst minimalen HTML-Output. Wie gesagt, Geschmacksfrage, bzw. Definition des eigenen Standards.
Anyway: Es gibt ja ein paar Lösungsmöglichkeiten für Deinen Wunsch.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 13:26

Die Diskussion um aufgeräumten HTML Output gehört sicher an andere Stelle.

Aber als verantwortungsvoller Frontend Entwickler sollte man auch gerade die Queries/Resourcenabfragen bedenken: als Beispiel eine farblich, unters. gestaltete Navigation umsetzen, könnte mit festen IDs ohne Javascript/Hacks gelöst werden, rein mit CSS. So muss man zusätzliche Abfragen, etc in Kauf nehmen.

Letztlich geht es um Performance und Semantik. Dies ist bei der aktuellen Lösung noch nicht gegeben. Deswegen fragte ich nach. Aber ich werde gerne die Navi-Klasse erweitern bzw umschreiben.

Benutzeravatar
Peter.Bickel
Beiträge: 1856
Registriert: 25. Jan 2005, 21:17
Wohnort: Schleswig-Holstein
Kontaktdaten: Website

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 13:37

Der Jquery-Weg ist natürlich unsinnig, finde ich.
Wenn es z.B. um eine farblich unterschiedliche Navi geht, warum löst Du das nicht mit z.B. Kategorie-Metafeldern, die den Listenpunkten optional sowas anhängen können? Diese Möglichkeit hat nav42 ja, und so habe ich das auch bisher gelöst. Dann hat man nämlich nur dort Klassen/IDs, wo man sie haben will und nicht überall. Zudem wäre es auch flexibler, weil man bei neuen Kategorien dem Redakteur ggf. Steuerungsmöglichkeiten geben kann und nicht ans CSS ran muss. Man könnte dies z.B. mit einem Selectfeld machen, um sicherzustellen, dass der Redakteur wirklich nur eine fest vorgegebene Auswahl hat. Und könnte dabei auch gleich selbst sinnvolle Klassennamen vergeben.

phloo
Beiträge: 76
Registriert: 5. Aug 2008, 17:06

Re: Klasse nav42 - eine erweiterte rex_navigation

26. Mär 2015, 13:52

Ja, da sind wir uns einig (jquery)

Aber wozu der Mehraufwand mit Anlegen von Meta-Feldern, befüllen und abfragen, wenn man dies eben schon von Haus aus haben kann? Klar kann man schönere Namen vergeben, oder sie reduzieren auf z.B. nur die Hauptnavigation. Suchmaschinen & Co kümmert dies nicht und diese paar zusätzlichen IDs machen den (Lade)Kohl nicht fett, meiner Meinung. Als Unterschied eben nur deine Geschmackssache wegen des "aufgeräumten" Zustands (für wen aufgeräumt :)).

Will jetzt aber hier nicht den Thread vollmüllen mit meinen Gedanken zum Aufbau & Lösung von HTML Anwendungen. Wollte nur ein Beispiel geben, was eben nützlich wäre zu haben. Idealerweise optional (showCatIDs)

PS: Klassennamen haben hier jetzt doch gar nichts mit zu tun.

Zurück zu „Allgemeines [R4]“