[gelöst] Frage zu Modul "Navigationpath"
Verfasst: Mi 15. Nov 2006, 09:24
Bei dem Versuch, die automatisch in der Ausgabe des Links erzeugte HTML Klassenzuweisung "class="navipath"" zu entfernen, stoße ich langsam aber sicher auf das Ende meines Lateins.
Bei "Get Path to root" wird durch $dummy eine Vorlage für die Erstellung des Links gezogen, in der dann die Werte eingesetzt werden, soviel habe ich verstanden, wo jedoch befindet sich die Variable an sich? Ich habe schon verschiedene Dateien unter "contenido/includes" durchsucht, finde aber nichts entsprechendes.
Kann mir jemand Rat geben?
Bei "Get Path to root" wird durch $dummy eine Vorlage für die Erstellung des Links gezogen, in der dann die Werte eingesetzt werden, soviel habe ich verstanden, wo jedoch befindet sich die Variable an sich? Ich habe schon verschiedene Dateien unter "contenido/includes" durchsucht, finde aber nichts entsprechendes.
Kann mir jemand Rat geben?
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;
?>