Verfasst: Di 3. Okt 2006, 22:42
In dem Moduloutput wird zu Anfang über $retval der class="" Tag generiert, soweit ich das richtig verstanden habe. Ich habe versucht die Klassenzuweisung herauszunehmen, da ich die Formatierung anders lösen möchte. Leider habe ich null Ahnung was ich ändern muss, damit es klappt. Ich habe schon versucht bei der Generierung am Ende des Moduloutputs $retval herauszunehemn, dadurch entsteht dann eine Fehlermeldung - folglich der falsche Weg. Dann habe ich versucht die Erstellung der Klasse über $retval am Anfang des Moduloutputs auszukommentieren, was auch in Fehlermeldungen geendet ist.
Ist jemand so nett und hilft mir bei meinem Problem?
Ist jemand so nett und hilft mir bei meinem Problem?
Code: Alles auswählen
<?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", 1);
if ($retval=='') {
$retval=' ';
} 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;
?>