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

Breadcrumb (Eigene Klassen)

Verfasst: 24. Jan 2016, 13:48
von PXDemon
Ich versuche gerade eine Breadcrumb zu bauen der ich eigene Klassen mit geben kann. Aus meinen alten Code Snippets aus Rex4 Zeiten komme ich bei rex5 nicht weiter :?

Das hier gibt mir zwar eine Breadcrumb aus aber ich kann keine eigene Klassen vergeben und bei Start gibt er mir immer nur 1 aus anstelle des Namens. Zu der 1 hab ich ein paar Ansätze im Forum gefunden, anstelle von TRUE halt zbs. 'Home' oder halt mit einem Platzhalter, aber das ist ja auch nicht so dolle... Aber wichtiger sind mir erst mal die eigenen Klassen Name.

Gibt es für getBreadcrumb keinerlei Parameter Angaben für UL, LI Klassennamen?

Code: Alles auswählen

$nav = rex_navigation::factory();
echo $nav->getBreadcrumb(TRUE,TRUE,0);
Ich benötige für das UL eine eigene Klasse für den Startartikel eine eigene Klasse und für das aktive LI eine Klasse.
Hat jemand ein Beispiel? :idea:

Re: Breadcrumb (Eigene Klassen)

Verfasst: 26. Jan 2016, 08:43
von PXDemon
Hat hier keiner eine Idee oder neues Beispiel?

Re: Breadcrumb (Eigene Klassen)

Verfasst: 26. Jan 2016, 09:24
von Thomas.Blum
Hej,

ich habe mal für die Demo ein Issue eröffnet. Ggf kommt da etwas.
https://github.com/redaxo/redaxo_demo_base/issues/9

Ansonsten kannst du dir eine Breadcrumb auch ganz einfach via rex_article Objekt erstellen.

Code: Alles auswählen

$path = rex_article::getCurrent()->getPathAsArray();
foreach ($path as $id) {
    $article = rex_article::get($id);
    echo '<a href="' . $article->getUrl() . '">' . $article->getName() . '</a>';
}
vg Thomas

Re: Breadcrumb (Eigene Klassen)

Verfasst: 27. Jan 2016, 08:51
von PXDemon
Hi Thomas,

super, funktioniert, danke! (y)
Das mit der eröffneten Issue auf Git ist super, denke mal dass das einige interessieren wird.

LG Pierre

Re: Breadcrumb (Eigene Klassen)

Verfasst: 15. Feb 2016, 23:39
von Björn Lindner
hi,

wenn

Code: Alles auswählen

$path = rex_article::getCurrent()->getPathAsArray();
print_r($path);
bei mir immer das selbe zurück liefert, egal auf welcher seite ich bin, kann das am yrewrite liegen oder habe ich einen denkfehler?

danke und gruß
björn

Re: Breadcrumb (Eigene Klassen)

Verfasst: 16. Feb 2016, 09:38
von Thomas.Blum
Hej,
Björn Lindner hat geschrieben: bei mir immer das selbe zurück liefert, egal auf welcher seite ich bin, kann das am yrewrite liegen oder habe ich einen denkfehler?
Welcher Pfad wird denn zurückgegeben und was passiert wenn du Yrewrite deaktivierst?
Wird denn immer dieselbe Seite angezeigt oder kommen unterschiedliche Seiten?

vg Thomas

Re: Breadcrumb (Eigene Klassen)

Verfasst: 16. Feb 2016, 10:46
von Björn Lindner
hi,

es wird immer die Fehlerseite angezeigt.
und ja wenn ich yrewrite deaktiviere steht die richtige id drin.

Grüße
Björn

Re: Breadcrumb (Eigene Klassen)

Verfasst: 16. Feb 2016, 11:11
von Thomas.Blum
Dann wirst du Yrewrite falsch konfiguriert haben?
Ich würde erst einmal Yrewrite richtig zum laufen bringen, ggf. auch ein Update einspielen.

Re: Breadcrumb (Eigene Klassen)

Verfasst: 16. Feb 2016, 14:35
von Björn Lindner
das war es tatsächlich.
dann kann ich mich jetzt an die yrewrite konforme navigation machen. danke

Re: Breadcrumb (Eigene Klassen)

Verfasst: 16. Feb 2016, 17:25
von Björn Lindner
hi,

sorry das ich noch mal nachfragen muss.
wenn bei mir in der navigation:

Code: Alles auswählen

$path = explode("|",$this->getValue("path").$this->getValue("article_id")."|");
$path1 = ((!empty($path[1])) ? $path[1] : '');
$path2 = ((!empty($path[2])) ? $path[2] : '');

$nav_main = '';

foreach (rex_category::getRootCategories() as $lev1) {

	$hidden_ids = array(1,6);
	// Home und Footer-Hilfsartikel sollen nicht in der Navi auftauchen
	if ($lev1->isOnline(true) && (!in_array($lev1->getId(), $hidden_ids))) {
		if ($lev1->getId() == $path1) {
			$nav_main .= '
			<li class="dropdown active"><a href="'.$lev1->getUrl().'">'.htmlspecialchars($lev1->getValue('name')).'</a>';
		} else {
   			$nav_main .= '
			<li class="dropdown"><a href="'.$lev1->getUrl().'">'.htmlspecialchars($lev1->getValue('name')).'</a>';
		}
jetzt immer nur folgendes steht:

Code: Alles auswählen

<div class="collapse navbar-collapse" id="navbar-collapse-1">
									<ul class="nav navbar-nav navbar-main-menu">
		
			<li class="dropdown"><a href="/">Home</a>
		</li>
			<li class="dropdown active"><a href="/oeffnungszeiten/">Öffnungszeiten</a>
		</li>
was mache ich falsch?
immernoch eine yrewrite konfiguration oder wo hakt es bei mir?
ich habe wie beschrieben bei yrewrite den startpunkt der domain freigelassen, weil ich nur eine domain habe.

gruß und dank
björn

p.s. aw navigation zeigt die urls bei mir auch so an, also gehe ich noch von einer konfiguration aus.

Re: Breadcrumb (Eigene Klassen)

Verfasst: 16. Feb 2016, 20:58
von Thomas.Blum
Was ist daran jetzt verkehrt?

Re: Breadcrumb (Eigene Klassen)

Verfasst: 17. Feb 2016, 08:58
von Björn Lindner
moin,

das der link eigentlich entweder "/villa_cms/oeffnungszeiten/" heißen müsste, weil das redaxo unter dem ordner /villa_cms liegt oder halt mit lokaler domain sogar "http://coruscant/villa_cms/oeffnungszeiten".

grüße
björn

Re: Breadcrumb (Eigene Klassen)

Verfasst: 17. Feb 2016, 09:14
von Gregor.Harlan
Was hast du als Domain eingetragen?
Richtig wäre "http://coruscant/villa_cms/".

Eigentlich sollte es auch funktionieren, wenn du die Domain ganz weglässt, also gar keine anlegst. Aber da scheint es noch Probleme zu geben, zum Beispiel funktioniert die sitemap.xml dann zurzeit noch nicht.

Re: Breadcrumb (Eigene Klassen)

Verfasst: 17. Feb 2016, 09:55
von Björn Lindner
super, danke dann haben wir den fehler :)
domain habe ich natürlich nur die domain eingetragen.

vielen dank euch.