Navigationspfad - kleine Veränderung?

Gesperrt
maramausi
Beiträge: 10
Registriert: Mi 4. Apr 2007, 16:43
Kontaktdaten:

Navigationspfad - kleine Veränderung?

Beitrag von maramausi » Mi 4. Apr 2007, 17:14

Hallo ihr Lieben,

ich habe mir Contenido installiert, und komme bis jetzt auch gut zurecht, aber jetzt stehe ich vor einem kleinen Problem. Da ich nicht wirklich Kentnisse in PHP habe, könnt ihr mir vielleicht helfen!
Ich habe das Navigationspfad-Modul aus dem Beispielmandanten genommen. Ich würde es aber gerne so haben, dass er mir am Anfang schon den Namen des Menübaumes anzeigt. Als Beispiel: Hauptnavigation > Was ist Contenido, und nicht erst bei "Contenido" beginnt. Wisst ihr, was ich meine? :D

Hier nochmal der Code:

Code: Alles auswählen

<?php

#Settings
$separator = '>';
$max_length = 65;

#Get path to root
$dummy = conCreateLocationString($idcat, ' '.$separator.' ', $retval, true, "navipath", 1);

if ($retval=='') {
	$retval='&nbsp;';	
} else {
	$pattern = "'>.*?<'";
	
	preg_match_all($pattern, $retval, $matches);
	$matches = $matches[0];
	
	#Get effective text length
	$length = 0;
	foreach ($matches as $value) {
		$length += strlen($value) - 2;
	}
	
	#Get shorten factor
	if ($length > $max_length * 4) {
		$shorten = 5;
	}
	elseif ($length > $max_length * 3) {
		$shorten = 4;
	}
	elseif ($length > $max_length * 2) {
		$shorten = 3;
	}
	elseif ($length > $max_length) {
		$shorten = 2;
	} else {
		$shorten = 1;
	}
	
	#Shorten items
	if ($length > $max_length) {
		foreach ($matches as $value) {
			if (strpos($value, $separator) === FALSE) {
				$text = substr($value, 1, strlen($value) - 2);
				$len = strlen($text);
				if (strpos($text, ' ') === FALSE) {
					$text_new = $text;
				} else {
					$text_new = capiStrTrimAfterWord($text, intval($len / $shorten));
				}
	
				if (strlen($text) != strlen($text_new)) {
					$text_new .= '...';
				}
	
				$text_new = '>'.$text_new.'<';
				$retval = str_replace('>'.$text.'<', $text_new, $retval);
			}
		}
	}
	
	$retval = str_replace('"/index.html"', '"Home/index.html"', $retval);
}

echo $retval;
?>

ich hoffe, ihr könnt mir da ein bisschen weiterhelfen und danke im Vorraus!

Mara

simu
Beiträge: 48
Registriert: Di 4. Okt 2005, 08:44
Wohnort: Schweiz
Kontaktdaten:

Beitrag von simu » Mi 4. Apr 2007, 17:25

Folgende Zeile:

Code: Alles auswählen

$dummy = conCreateLocationString($idcat, ' '.$separator.' ', $retval, true, "navipath", 1);
durch diese ersetzen:

Code: Alles auswählen

$dummy = conCreateLocationString($idcat, ' '.$separator.' ', $retval, true, "navipath", 0);
sollte eigentlich funktionieren...

maramausi
Beiträge: 10
Registriert: Mi 4. Apr 2007, 16:43
Kontaktdaten:

Beitrag von maramausi » Mi 4. Apr 2007, 18:15

Klappt wunderbar, vielen Dank :)

Gesperrt