Seitenpfad ausgeben lassen
Seitenpfad ausgeben lassen
Hey liebe Forumianer
kurz eine Frage.
Ich habe via JavaScript mir den Seitenpfad ausgeben lassen für die Funktion, das der Besucher weiß wo er sich gerade befindet. Hier das Script:
<b>Sie befinden sich Hier:</b>
<div class="naviPfad">
<script type="text/javaScript">
<!--
var path = "";
var domain = "www.domain.de";
var href = document.location.href;
var s = href.split("/");
for (var i=2;i<(s.length-1);i++) {
if (s == domain) {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s)+s.
length+1)+"/\">Startseite </a>/ ";
}
if(s == domain.substring(7,domain.length)) {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s)+s.
length+1)+"/\">Startseite </a>/ ";
}
else {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s)+s.
length+1)+"/\">"+s+"</A> / ";
}
}
i=s.length-1;
path+="<A HREF=\""+href.substring
(0,href.indexOf(s)+s[i]. length)+"\">"+s[i]+"</A>";
document.writeln(path);
//-->
</script>
</div>
So folgendes Problem:
Er gibt das aus:
Sie befinden sich Hier:
Startseite / www.domain.de / blogtutorials / html-lernen / html5.html
ich möchte aber das www.domain.de nicht ausgegeben haben sondern nur Startseite / blogtutorials usw.
Was habe ich falsch gemacht?
Gibt es eine bestehendes Modul das dies ganz gut regelt?#
Danke
kurz eine Frage.
Ich habe via JavaScript mir den Seitenpfad ausgeben lassen für die Funktion, das der Besucher weiß wo er sich gerade befindet. Hier das Script:
<b>Sie befinden sich Hier:</b>
<div class="naviPfad">
<script type="text/javaScript">
<!--
var path = "";
var domain = "www.domain.de";
var href = document.location.href;
var s = href.split("/");
for (var i=2;i<(s.length-1);i++) {
if (s == domain) {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s)+s.
length+1)+"/\">Startseite </a>/ ";
}
if(s == domain.substring(7,domain.length)) {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s)+s.
length+1)+"/\">Startseite </a>/ ";
}
else {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s)+s.
length+1)+"/\">"+s+"</A> / ";
}
}
i=s.length-1;
path+="<A HREF=\""+href.substring
(0,href.indexOf(s)+s[i]. length)+"\">"+s[i]+"</A>";
document.writeln(path);
//-->
</script>
</div>
So folgendes Problem:
Er gibt das aus:
Sie befinden sich Hier:
Startseite / www.domain.de / blogtutorials / html-lernen / html5.html
ich möchte aber das www.domain.de nicht ausgegeben haben sondern nur Startseite / blogtutorials usw.
Was habe ich falsch gemacht?
Gibt es eine bestehendes Modul das dies ganz gut regelt?#
Danke
Re: Seitenpfad ausgeben lassen
Hallo,
Du hast im Beispielsmandanten in C 4.8.15 ff das Modul "Navigation_Breadcrumb" schon mal getestet ?
Du hast im Beispielsmandanten in C 4.8.15 ff das Modul "Navigation_Breadcrumb" schon mal getestet ?
Guten Gruß
Seelauer.
Seelauer.
Re: Seitenpfad ausgeben lassen
Klaro, aber dies gibt nicht die Struktur aus die ich gerne hätte. Navigation wäre folgende:
Startseite -> HTMLlernen -> html5
weil der zwischen Punkt BlogTutorial wird keinen Artikel bekommen, da hier die bei klick ein Popup Navi mit den untermenüpunkten geöffnet wird...
Startseite -> HTMLlernen -> html5
weil der zwischen Punkt BlogTutorial wird keinen Artikel bekommen, da hier die bei klick ein Popup Navi mit den untermenüpunkten geöffnet wird...
Re: Seitenpfad ausgeben lassen
Hallo,
dein Fehler liegt bei den IF-Auswertungen.
Das erste IF findet den Eintrag für die Startseite, also die Domain, und schreibt "Startseite".
Dann kommt aber kein ELSIF, sondern ein neues IF, welches die Domain nie erkennen kann (sondern "main.de" wegen SUBSTRING), wobei dann der ELSE Zweig genommen und die Domain ausgegeben wird.
Wenn du diesen Zweig entfernst sollte es funktionieren:
Gruß
René
PS: Über dem Eingabefeld hier im Forum gibt es Buttons, einen davon ist beschriftet mit "Code".
Bitte nutz diesen auch, denn so wird der Code sehr unübersichtlich.
dein Fehler liegt bei den IF-Auswertungen.
Das erste IF findet den Eintrag für die Startseite, also die Domain, und schreibt "Startseite".
Dann kommt aber kein ELSIF, sondern ein neues IF, welches die Domain nie erkennen kann (sondern "main.de" wegen SUBSTRING), wobei dann der ELSE Zweig genommen und die Domain ausgegeben wird.
Wenn du diesen Zweig entfernst sollte es funktionieren:
Code: Alles auswählen
<b>Sie befinden sich Hier:</b>
<div class="naviPfad">
<script type="text/javaScript">
//<![CDATA[
var path = "";
var domain = "www.domain.de";
var href = document.location.href;
var s = href.split("/");
for (var i=2;i<(s.length-1);i++) {
if (s[i] == domain) {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].
length+1)+"/\">Startseite </a>/ ";
}
else {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].
length+1)+"/\">"+s[i]+"</A> / ";
}
}
i=s.length-1;
path+="<A HREF=\""+href.substring(0,href.indexOf(s[i])+s[i]. length)+"\">"+s[i]+"</A>";
document.writeln(path);
//]]>
</script>
</div>
René
PS: Über dem Eingabefeld hier im Forum gibt es Buttons, einen davon ist beschriftet mit "Code".
Bitte nutz diesen auch, denn so wird der Code sehr unübersichtlich.
Re: Seitenpfad ausgeben lassen
Funktioniert immer noch net...
Er soll ja nur Startseite -> HTML lernen -> HTML5.html
ausgeben.
Kannst du mir einmal kommentare ins script schreiben wo genau was passiert? Dann schau ich mir das selber einmal durch und Komm dann vllt. nochmal drauf zurück
Danke
Er soll ja nur Startseite -> HTML lernen -> HTML5.html
ausgeben.
Kannst du mir einmal kommentare ins script schreiben wo genau was passiert? Dann schau ich mir das selber einmal durch und Komm dann vllt. nochmal drauf zurück
Danke
Re: Seitenpfad ausgeben lassen
So, nochmal mit Kommentare:
Wenn ich aber nichts sehen kann, wie soll ich denn dann was schreiben können, dass genau das ausgibt, was du haben möchtest?
Ich sehe hier weder eine tatsächliche Adresse zur Seite, noch was die Navigation darstellt.
Und meine Zauberkugel ist gerade zur Reparatur.
Gruß
René
Code: Alles auswählen
<b>Sie befinden sich Hier:</b>
<div class="naviPfad">
<script type="text/javaScript">
//<![CDATA[
var path = "";
var domain = "www.domain.de";
var href = document.location.href;
var s = href.split("/");
for (var i=2;i<(s.length-1);i++) {
if (s[i] == domain) {
// Hier wurde der Domainname aus der Variable domain erkannt, es wird ein Link mit Text "Startseite" ausgegeben
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">Startseite </a>/ ";
}
else {
// Hier werden (durch else) allen anderen Teilen der Adresse verarbeitet
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">"+s[i]+"</A> / ";
}
}
i=s.length-1;
path+="<A HREF=\""+href.substring(0,href.indexOf(s[i])+s[i]. length)+"\">"+s[i]+"</A>";
document.writeln(path);
//]]>
</script>
</div>
Ich sehe hier weder eine tatsächliche Adresse zur Seite, noch was die Navigation darstellt.
Und meine Zauberkugel ist gerade zur Reparatur.
Gruß
René
Re: Seitenpfad ausgeben lassen
Was genau brauchst du von mir?
Also im root liegt ein Ordner namens blog /cms
so in CMS liegt die Startseite und bei klick auf den Menüpunkt Tutorials öffnet sich ein Fenster für die Weitere Navigation dort auf HTML und dann weiter auf HTML5
So ich hab eine weiterleitun via .htaccess drinne die von www.domain,de auf das verzeichnis blog/cms weiterleitet. So und das CMS macht aus den ganzen Daten www.domain,de ´/blogtutorial/html-lernen.html5.html
und daraus soll er flolgenden Pfad machen:
Startseite -> HTML Lernen -> HTML5
Brauchst du noch weitere Infos?
Also im root liegt ein Ordner namens blog /cms
so in CMS liegt die Startseite und bei klick auf den Menüpunkt Tutorials öffnet sich ein Fenster für die Weitere Navigation dort auf HTML und dann weiter auf HTML5
So ich hab eine weiterleitun via .htaccess drinne die von www.domain,de auf das verzeichnis blog/cms weiterleitet. So und das CMS macht aus den ganzen Daten www.domain,de ´/blogtutorial/html-lernen.html5.html
und daraus soll er flolgenden Pfad machen:
Startseite -> HTML Lernen -> HTML5
Brauchst du noch weitere Infos?
Re: Seitenpfad ausgeben lassen
Dein erster Post:
Und was genau wird an der Stelle jetzt (mit dem letzten Code) ausgegeben?
Gruß
René
Dein letzter Post:contenidoAmateur hat geschrieben:... ich möchte aber das http://www.domain.de nicht ausgegeben haben sondern nur Startseite / blogtutorials usw.
Was genau möchtest du denn jetzt eigentlich haben?contenidoAmateur hat geschrieben:... und daraus soll er flolgenden Pfad machen:
Startseite -> HTML Lernen -> HTML5
Und was genau wird an der Stelle jetzt (mit dem letzten Code) ausgegeben?
Gruß
René
Re: Seitenpfad ausgeben lassen
Seiten aufbau habe ich ja beschrieben.
Startseite -> HTML Lernen -> HTML5 "will haben"
domain.de / blogtutorials / html-lernen / html5.html "gibt aus"
das ich nur domain schreibe liegt daran, dassich die url hier net reinschreiben will.
Startseite -> HTML Lernen -> HTML5 "will haben"
domain.de / blogtutorials / html-lernen / html5.html "gibt aus"
das ich nur domain schreibe liegt daran, dassich die url hier net reinschreiben will.
Re: Seitenpfad ausgeben lassen
Welche Domain das ist, ist hier irrelevant, die hast du in eine Variable gespeichert und kann ausgetauscht werden.
Du möchtest also die Ebene "blogtutorials" nicht mit ausgegeben haben, die lässt sich ausfiltern:
Was aber nicht geht, ist, dass Javascript aus eine komplett kleingeschriebene Adresse die richtige Groß-/Kleinschreibung ausliest, also bleibst du bei der Kleinschreibung.
Sonst musst du, wie schon Seelauer geschrieben hat, das Modul "Navigation_Breadcrumb" nutzen, das kann man auch anpassen um diese eine Ebene auszufiltern.
Gruß
René
Du möchtest also die Ebene "blogtutorials" nicht mit ausgegeben haben, die lässt sich ausfiltern:
Code: Alles auswählen
<b>Sie befinden sich Hier:</b>
<div class="naviPfad">
<script type="text/javaScript">
//<![CDATA[
var path = "";
var domain = "www.domain.de";
var href = document.location.href;
var s = href.split("/");
for (var i=2;i<(s.length-1);i++) {
if (s[i] == domain) {
// Hier wurde der Domainname aus der Variable domain erkannt, es wird ein Link mit Text "Startseite" ausgegeben
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">Startseite </a>/ ";
}
else {
// Hier werden (durch else) allen anderen Teilen der Adresse verarbeitet
// Also, "blogtutorials" rausfiltern
if (s[i] != 'blogtutorials') {
path+="<A HREF=\""+href.substring(0,href.indexOf("/"+s[i])+s[i].length+1)+"/\">"+s[i]+"</A> / ";
}
}
}
i=s.length-1;
path+="<A HREF=\""+href.substring(0,href.indexOf(s[i])+s[i]. length)+"\">"+s[i]+"</A>";
document.writeln(path);
//]]>
</script>
</div>
Sonst musst du, wie schon Seelauer geschrieben hat, das Modul "Navigation_Breadcrumb" nutzen, das kann man auch anpassen um diese eine Ebene auszufiltern.
Gruß
René