[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
REDAXO Forum • rex_navigation::factory()
Seite 1 von 6

rex_navigation::factory()

Verfasst: 15. Apr 2009, 18:22
von acanzo
Hallo Community,

gibts schon ne kleine Bauanleitung zur rex_navigation::factory() der redaxo 4.2?
Danke, wäre nett.

Grüße Falko

Verfasst: 17. Apr 2009, 12:02
von Alex
Hi,

die Nutzung ist sehr einfach.

Normale Navigation:

$nav = rex_navigation::factory();
$nav->setClasses(array('lev1', 'lev2', 'lev3'));
echo $nav->get(0,2,FALSE,TRUE);

Get-Methode im Detail:

get(1,2,3,4)

1 = Id der Wurzelkategorie
2 = Anzahl der Ebenen die angezeigt werden sollen
3 = True, wenn nur Elemente der aktiven Kategorie angezeigt werden sollen, sonst FALSE
4 = FALSE, wenn offline Elemente angezeigt werden, sonst TRUE

Sitemap:

$nav = rex_navigation::factory();
$nav->show(0,2,FALSE,TRUE);

Show-Methode im Detail:

show(1,2,3,4)

1 = Id der Wurzelkategorie
2 = Anzahl der Ebenen die angezeigt werden sollen
3 = True, wenn nur Elemente der aktiven Kategorie angezeigt werden sollen, sonst FALSE
4 = FALSE, wenn offline Elemente angezeigt werden, sonst TRUE

Breadcrump:

$nav = rex_navigation::factory();
$nav->showBreadcrump(true);

Weitere Details sind auch in der Datei class.rex_navigation.inc.php zu finden.

Hoffe, dass ich etwas helfen konnte! :)

Gruß
Alex

Verfasst: 17. Apr 2009, 12:11
von acanzo
danke, dir, hatte mich schon etwas umgesehen.
lass doch deinen beitrag in die wiki setzen
grüße falko

Verfasst: 17. Apr 2009, 12:22
von Alex
Ja, wäre eine Idee. Würd's auch selber machen, wenn ich das Passwort bekäme. ;-)

Vll. kann ja mal ein Mod oder Admin was dazu sagen oder die Infos direkt reinsetzen.

Gruß
Alex

Verfasst: 17. Apr 2009, 17:24
von Thomas.Blum
Hej,
Alex hat geschrieben:Ja, wäre eine Idee. Würd's auch selber machen, wenn ich das Passwort bekäme. ;-)
schau mal bitte auf die Startseite des Wikis.

vg Thomas

Verfasst: 19. Apr 2009, 13:05
von Richard.Laing
hi@ all

sobald ich das auch kapiert habe, werde ich hier ein videotutorial erstellen.
gibt es schon eine anleitung, damit ich da durchsteige als nicht programmierer.
gruß richy

[EDIT]

Wenn ich das richtig verstanden habe ist das von Alex schon die komplettanleitung...

damit sollte alles machbar sein RICHTIG?

gruß richy

Verfasst: 20. Apr 2009, 16:20
von Alex
Thomas.Blum hat geschrieben: schau mal bitte auf die Startseite des Wikis.
vg Thomas
Oha! Schande über mein Haupt! Völlig überlesen. :oops:
Habe es nun eingebunden...
Richard.Laing hat geschrieben: Wenn ich das richtig verstanden habe ist das von Alex schon die komplettanleitung...

damit sollte alles machbar sein RICHTIG?

gruß richy
Ja - damit ist eigtl. alles machbar. Sollte auch als Nichtprogrammierer umsetzbar sein . Ansonsten kannst du mir auch gerne eine PN schicken, falls du Fragen hast, die mehr ins Detail gehen.

Gruß
Alex

Verfasst: 21. Apr 2009, 17:14
von Havard
kann ich eigentlich verschiedene "normale navigationen" auch jeweils via css ein anderes aussehen verpassen? und wenn ja wie mache ich das? danke, lg!

Verfasst: 21. Apr 2009, 17:20
von Richard.Laing
hi
jau das geht, setz einfach die jeweilige navigation in eine eigene id also z.B.:

Code: Alles auswählen

<div id="navi1">
<?php
// navigation generator erstellen

$nav = rex_navigation::factory();

$category_id = 0; // Beginne in der Wurzelkategorie
$depth = 3; // 3 Ebene Tief
$open = FALSE; // Nicht aufklappen (hier egal da nur 1 Ebene)
$ignore_offlines = TRUE; // Offline ausblenden
echo $nav->get($category_id, $depth, $open, $ignore_offlines);
?></div>
die navis selber geben aber auch reichlich formatierungsmöglichkeiten mit. einfach mal in den quelltext schauen.

gruß richy

Verfasst: 23. Apr 2009, 07:33
von Richard.Laing
hi@ all
wie siht es denn mit einer zweiteiligen menueführung aus?

hauptmenue oben z.B.: und die unterkategorieen nach klick auf der linken seite.

wie würde die den aufgebaut mit der menuefactory?

gruß richy

Verfasst: 23. Apr 2009, 08:03
von Mediastuttgart
hi richy

oben horizontal:

Code: Alles auswählen

$nav_h = rex_navigation::factory();
$nav_h->show(0,1,FALSE,TRUE); 
links vertikal:

Code: Alles auswählen

$PATH = explode("|",$this->getValue("path").$this->getValue("article_id")."|");

$nav_v = rex_navigation::factory();
$nav_v->show($PATH[1],2,FALSE,TRUE); 
aber es ist noch früh am morgen, also korrigiert mich falls ich gepatzt hab ;-)

lg
michael

Verfasst: 23. Apr 2009, 08:22
von Richard.Laing

Code: Alles auswählen

Catchable fatal error: Object of class rex_navigation could not be converted to string in /var/.../include/classes/class.rex_article.inc.php(700) : eval()'d code on line 107
die ausgabe habe ich dann mit echo $nav_h; echo $nav_v; gemacht sollte doch dann so sein oder?

gruß richy

ps: jau zu früh :)

:) Auch guten morgen

Verfasst: 23. Apr 2009, 08:50
von captFuture
... mir scheint die neue navi macht ein wenig ratlos ;)
(mich nämlich auch ... dafür find ich den adminbereich jetzt mal wirklich schön geworden)

Ich bin auf der suche nach dem include wo die netten funktionen zum bauen der navi drin sind weil ich mit dem "grundstyling" der navi nicht zufrieden bin.

- konkret möchte ich den text im <li> noch mit einem <span> kapseln...

Nach längerem suchen musste ich jetzt aber aufgeben :(

Wenn mir wer die datei benennen könnte wär ich glücklich...

Vielen Dank und Kaffee für alle die so wie ich schon seit 6 vor dem PC sitzen

Verfasst: 23. Apr 2009, 09:58
von ralf.schlott
Ich möchte für jede Ebene eine getrennte Navi machen.
Das heisst, dass das jetzt einfacher ist?

Wie sieht denn nun die Ausgabe aus? get? print?

Verfasst: 23. Apr 2009, 10:21
von Richard.Laing
hi
jau das sollte innerhalb php eigendlich so gehen...

Code: Alles auswählen

$nav = rex_navigation::factory();
$category_id = $this->getValue('article_id');  // Beginne in der Wurzelkategorie
$depth = 3; // 3 Ebene Tief
$open = FALSE; // Nicht aufklappen 
$ignore_offlines = TRUE; // Offline ausblenden
echo $nav->get($category_id, $depth, $open, $ignore_offlines);
gruß richy

mein problem sind die 2 teiligen navigationen

Verfasst: 23. Apr 2009, 14:00
von ralf.schlott
Ich hoffe hier werden noch mehr ideen zusammengetragen. Ich probiere grad noch die Codeschnipsel aus.

Thema CSS: in der class.rex_navigation.inc.php wird das alles schonmal schön vorbereitet. Anscheinend muss man auch dort was ändern, wenn es anders sein soll.

Verfasst: 23. Apr 2009, 15:04
von elricco
Also bei mir klappt es auch einigermaßen gut, meine Frage bezieht sich nun auf Trennelemente.

Ich habe rechts eine Navigation, die lässt sich auch wunderbar stylen.

Alllerdings soll die Footer Navigation mit · getrennt werden.
Wie bekommt man denn sowas hin.

Wäre ganz nett zu wissen, da Navigationen ja auch gerne mal per Pipe-Symbol | getrennt werden.

Gruß Tim

Verfasst: 23. Apr 2009, 15:39
von ralf.schlott
Ich verstehe das auch nicht, da gibts ne neue Navi und irgendwie steht jeder im Regen.

Wie werden denn die Ebenen angesprochen? Es gibt doch in der classrexnavi auch die Möglichkeit die verschiedenen css Klassen auszugeben. Aber irgendwie muss man doch eine direkte Ansprache finden.

Es ist sich doch was dabei gedacht worden.... Danke für jeden der mithilft.

---

Im Download gibt es die 2te Ebene:

Code: Alles auswählen

<?php
$cat = OOCategory::getCategoryById($this->getValue('category_id')); 
$tree = $cat->getParentTree(); 
$id = $tree[0]->getId(); 
$subnav = rex_navigation::factory();
$subnav->setClasses(array('sub1', 'sub2'));
echo $subnav->get($id,2,FALSE,TRUE);
?>
Die 3te ebene davon funktioniert auch:

Code: Alles auswählen

<?php
$cat = OOCategory::getCategoryById($this->getValue('category_id')); 
$tree = $cat->getParentTree(); 
$id = $tree[1]->getId(); 
$subnav = rex_navigation::factory();
$subnav->setClasses(array('sub1', 'sub2'));
echo $subnav->get($id,1,FALSE,TRUE);
?>
Nur dann habe ich das Problem, dass immer die gleiche formatierung ausgegeben wird:

Code: Alles auswählen

<ul class="rex-navi1"><li id="rex-article-35" class="rex-current sub1"><a class="rex-current" href="index.php?article_id=35">Unterkategorie</a></li></ul></div>
für die 3te:

Code: Alles auswählen

<ul class="rex-navi1"><li id="rex-article-37" class="rex-normal sub1"><a href="index.php?article_id=37">die 3.te</a></li></ul>
Fragen über Fragen... -> kann aber auch sein, dass ich was falsch mache!

Verfasst: 24. Apr 2009, 09:47
von Mediastuttgart
also hauptnavi und unternavi getrennt voneinander funktioniert so [getestet]

Code: Alles auswählen

$rexnav1 = rex_navigation::factory();
echo $rexnav1->get(0,1,FALSE,TRUE); 
	
$P = explode("|",$this->getValue("path").$this->getValue("article_id")."|"); 
	
$rexnav2 = rex_navigation::factory();
echo $rexnav2->get($P[1],1,FALSE,TRUE); 
lg
michael

Verfasst: 24. Apr 2009, 09:51
von Oliver.Kreischer
Schön wäre es noch wenn die UL Klassen sich unterscheiden würden... oder nicht?

Viele Grüße
Oliver

Verfasst: 24. Apr 2009, 10:03
von Richard.Laing
hallo michael

jau das war es, ich werde dann mal schnell ein video zur navigation anfertigen. naja zumindest soweit ich es selber verstehe, denke mal das es dann noch des öfteren neu gemacht werden muß :))))))

gruß und danke richy

Verfasst: 24. Apr 2009, 10:09
von ralf.schlott
Ein guter Ansatz. Vielen Dank

Ralf

Verfasst: 24. Apr 2009, 10:30
von Richard.Laing
hi@all
kurze frage noch den unterschied zwischen get und show bei der navi habe ich noch nicht ganz kapiert, wenn mir hier einen einen schubs geben kann.
gruß richy

Verfasst: 24. Apr 2009, 10:31
von ralf.schlott
Es funktioniert, sieht gut aus, aber...

...es erzeugt immer noch nur die class 1.

Code: Alles auswählen

<ul class="rex-navi1"><li....></li></ul>
und für die ebene drunter:

Code: Alles auswählen

<ul class="rex-navi1"><....ategorie</a></li></ul> 
Ich dachte irgendwie kann man die klassen direkt ansprechen.

Wie dachtest du denn, das man dann die 3te Ebene anspricht?

Ralf

Verfasst: 24. Apr 2009, 10:39
von Richard.Laing
hi per css ein div um die navigation.

Code: Alles auswählen

#linke_nav ul li ul li ul li a {
anweisung;
}
eventuel so...
gruß richy