Seite 1 von 1

Navigationspfad: Gibt mir immer nur ein Leerzeichen aus?

Verfasst: Fr 16. Mär 2007, 14:56
von damian2you
Hallo

Möchte das Navigationsmodul (Standart V. 4.6.8) einsetzen, bekomme jedoch immer nur ein leerzeichen?

Warum? Habe schon alles mögliche versucht....

Thx für einen Tipp

Verfasst: Fr 16. Mär 2007, 15:11
von MichFress
wo bekommst du die Leerzeichen denn?

Verfasst: Fr 16. Mär 2007, 15:23
von damian2you
Ich bekomme es aus dem Code (Fett):
------------------------------------
<?php
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname : Navigationpath
* Author(s) : Andreas Lindner
* Copyright : Contenido - four for business, Andreas Lindner
* Created : 05-08-2005
************************************************/

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

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

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;
?>
------------------------

thx damian