Seite 1 von 1

Navigationspfad - kleine Veränderung?

Verfasst: Mi 4. Apr 2007, 17:14
von maramausi
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

Verfasst: Mi 4. Apr 2007, 17:25
von simu
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...

Verfasst: Mi 4. Apr 2007, 18:15
von maramausi
Klappt wunderbar, vielen Dank :)