Seite 1 von 1
Navigationspfad (grrrrrr...)
Verfasst: Mo 3. Apr 2006, 21:22
von Maribeauli
Ich nutze in der Version 4.6.8 das (Standard-) Modul Navigatiospfad.
Dieser Navigationspfad wird immer mit URL ausgegeben in der Art:
Sie sind hier: Features dieser Website > Navigation > test
Das gefällt mir nicht das die Seite ebenfalls mit einem Link hinterlegt ist, mir wäre es so lieber:
Sie sind hier: Features dieser Website > Navigation > test
Die relevanten Passagen in dem Modul sind MySql-Abfragen (grrr...,)
während ich in php noch schlimmverbessern kann streiche ich bei MySql die Segel.
Frage 1:
Was muß ich den machen damit der Navi-Pfad die Seite ohne Link ausgibt?
(Frage 2 kommt eventuell noch ...)
Re: Navigationspfad (grrrrrr...)
Verfasst: Mo 3. Apr 2006, 21:36
von mvf
wenn ich recht entsinne ist der letzte naviPfad link nicht die aktuelle seite sondern kategorie, insofern macht des schon sinn
ansonsten
contenido\includes\functions.con.php (1204) function conCreateLocationString
Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 07:26
von Maribeauli
mvf hat geschrieben:wenn ich recht entsinne ist der letzte naviPfad link nicht die aktuelle seite sondern kategorie, insofern macht des schon sinn
Du entsinnst dich falsch, und so wie es ist macht es keinen Sinn.
mvf hat geschrieben:ansonsten
contenido\includes\functions.con.php (1204) function conCreateLocationString
Danke für deinen Hinweis, hier
http://fa.com.cn/4user.htm habe ich weitere Informationen dazu gefunden

Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 13:41
von mvf
vieleicht nutzt du was anderes, aber in der 464 werden im navigationsmodul nur kategorien ausgegeben
befinden sich mehrere artikel in der letzten kategorie, dann macht es eben schon sinn meines erachtens aber ich lass mich gerne eines besseren belehren
Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 18:49
von Maribeauli
mvf hat geschrieben:vieleicht nutzt du was anderes, aber in der 464 werden im navigationsmodul nur kategorien ausgegeben
Wie ich im Eingangspost sagte:
Navigationpfad - Version 4.6.8
Und da ist es so, zumindestens bei mir!!!
Aufgrund der zahlreichen Vorschläge der php- und Contenido-Exerten wie ich es ändern kann ...
habe ich in Ermangelung meiner Kenntnisse es eben so gelassen.
Bei einem Problem kommt es immer auf den Blickwinkel an,
ich habe den Blickwinkel eben angepaßt - und schon ist es kein Problem mehr für mich.
So einfach geht es wenn Experten schweigen und Experten nur Experten helfen.
Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 18:53
von mvf
nicht das ich experte wäre

aber poste mal bitte den output des moduls der 4.6.8, bin immernoch mit 464 unterwegs
Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 19:09
von Maribeauli
mvf hat geschrieben:... aber poste mal bitte den output des moduls der 4.6.8, bin immernoch mit 464 unterwegs
Output Navigationpfad (Original der Version 4.6.8 )
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;
?>
Ich wiederhole mich:
Features dieser Website > Navigation > test
Der Link
Features dieser Website - geht auf den Startartikel der Kategorie "Features dieser Website"
Navigation - geht auf den Startartikel der Kategorie "Navigation"
test - geht auf den Artikel "Test" der gerade im Browser angezeigt wird!!!
Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 19:17
von mvf
Maribeauli hat geschrieben:
Ich wiederhole mich:
Features dieser Website > Navigation > test
Der Link
Features dieser Website - geht auf den Startartikel der Kategorie "Features dieser Website"
Navigation - geht auf den Startrtikel der Kategorie "Navigation"
test - geht auf den Artikel "Test" der gerade im Browser angezeigt wird!!!
ich mich auch

(keine sorge musst nicht an dir zweifeln, meist schwebe ich in irgendwelchen parallel universen

)
das modul sieht nicht anders als bei der 464 aus
wenn ich in der letzten kategorie 5 atikel habe
1. startartikel mit artiliste oder was auch immer also übersicht
2. - 5. sind dann über die artiliste oder ein pageturning zu erreichen bspw.
dann zeigt mir das breadcrumb modul eben die 'brotkrumen' kategorien an, sprich
Features dieser Website >
Navigation >
test
damit komme ich von allen artikel 1-5 immer wieder zum startartikel nämlich in die kat test, sprich es ist ein abbild deines navibaumes und nicht der artikel test
solltest du wirklich den letzten link im bradcrumb auf die kategorie 'test' entfernen wollen, dann musst du dich wohl oder übel IMHO mit
Code: Alles auswählen
conCreateLocationString($idcat, ' '.$separator.' ', $retval, true, "navipath", 1)
befassen
ansonsten post mal nen link bitte
Re: Navigationspfad (grrrrrr...)
Verfasst: Di 4. Apr 2006, 19:39
von Maribeauli
mvf hat geschrieben: ... dann musst du dich wohl oder übel IMHO mit
Code: Alles auswählen
conCreateLocationString($idcat, ' '.$separator.' ', $retval, true, "navipath", 1)
befassen ...
Das habe ich, und was dabei rausgekommen ist ...
... schreibe ich besser morgen, heute könnte es sein das ich dann etwas schreibe was die Moderatoren / Betreiber des Forums sicher nicht gerne lesen und deswegen auf den roten Knopf ...
(mein Hals ist so dick, ich könnte eine Giraffe quer schlucken)
Verfasst: Mi 5. Apr 2006, 01:20
von kptkip
Ganz am Schluß des Skriptes wird der String ausgegeben.
Warum eleminierst Du nicht unmittelbar davor den Link beim letzten Item?
Die Variable, in der alles als Striung drin steht existiert ja.
Also mit klassischen suchen-ersetzen-Funktionen den Link nachträglich rausschmeißen - also gesetz den Fall, Du bist in keinem Startartikel.
Verfasst: Mi 5. Apr 2006, 11:15
von Maribeauli
kptkip hat geschrieben:Ganz am Schluß des Skriptes wird der String ausgegeben.
Warum eleminierst Du nicht unmittelbar davor den Link beim letzten Item?
Genau das wollte ich.
Und habe in dem String gespielt, irgendwann habe ich wohl zuviel gelöscht,
beim Speichern des Moduls kam eine Fehlermeldung,
und das komplette Contenido war weg mitsamt aller Inhalte.
Ich hatte keine Möglichkeit mehr das Modul aufzurufen um es zu löschen, oder über die History zurückzusetzen.
Ich hatte keine Möglichkeit mehr den Kategorienbaum aufzurufen.
Jeder Klick im Back End bei der eine Komponente aufgerufen wurde an der das verhunzte Modul beteiligt war führte zur Fehlermeldung mit Ladestillstand der Seite.
Bei mir war es eine lokale Installation, und ich hatte kurz vorher eine Datensicherung gemacht, also nur 1 bis 2 Stunden Arbeit beim Teufel.
Wenn ich daran denke was bei einer großen Website auf einem Internet-Server da verloren gegangen wäre.
So etwas darf
niemals in einem System passieren, das ist Murks!!!
Verfasst: Mi 5. Apr 2006, 11:20
von HerrB
Das eine hat kaum mit dem anderen zu tun. Wenn Du Deine Änderungen nur im Modul durchgeführt hast, kann das keinen Einfluss auf die Anzeige des Kategoriebaums haben.
Ich nehme eher an, dass durch die Versuche der Apache und/oder PHP aus dem Tritt gekommen sind und das das alles mitgerissen hat.
Das kann man aber nicht Contenido vorwerfen...
Gruß
HerrB
Verfasst: Mi 5. Apr 2006, 11:25
von rezeptionist
zumindest hättest du das Modul aus der DB löschen können. Ansonsten schliesse ich mich HerrB an .
Verfasst: Mi 5. Apr 2006, 11:29
von Maribeauli
HerrB hat geschrieben:Ich nehme eher an, dass durch die Versuche der Apache und/oder PHP aus dem Tritt gekommen sind und das das alles mitgerissen hat.
Da ich ein Windows-System nutze kenne ich die Effekte des Runterfahren und Neustarten.
Und genau das habe ich mit dem PC und dem Apache auch gemacht.
Das war es nicht.
HerrB hat geschrieben:Das eine hat kaum mit dem anderen zu tun. Wenn Du Deine Änderungen nur im Modul durchgeführt hast, kann das keinen Einfluss auf die Anzeige des Kategoriebaums haben.
Das kann man aber nicht Contenido vorwerfen...
Doch das hat genau miteinander zu tun.
Ich habe eine Änderung im Modul gemacht und der Kategorienbaum war ebenfalls hinüber.
Ich kann nur orakeln was da passiert ist,
wahrscheinlich hat mein verhunztes Modul etwas in der MySql-Datenbank zerschossen,
und da Contenido ja von dieser Datenbank lebt, stirbt es auch zusammen mit der (zerschossenen) Datenbank.