mod_breadcrumbNavi

Diskussion zu nicht so umfangreichen Modulen und Start-Up für neue Module. Ansonsten bitte die speziellen Kategorien benutzen!
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

mod_breadcrumbNavi

Beitrag von Matthias V »

Hallo zusammen,

da schon viele nach so etwas gefragt haben und sich auch meine modifizierte printnavigation (http://community.conpresso.de/viewtopic.php?t=3058) heruntergeladen haben, hab ich es mal aktualisiert und zu einem Modul zusammengeschnürt.

Dieses Modul stellt eine Funktion zur Ausgabe einer Breadcrumb bzw. Clickstream-Navi bereit. Auch als Aktueller Navigationspfad oder "Wo bin ich Struktur" bezeichnet.

Features:
  • jeweils letzer Eintrag ist nicht anklickbar
  • Beachtung von PATH_INFO
  • Ausgabe des Artikeltitels bei Rubrikseiten (Detailseiten)
  • Ausgabe des Suchbegriffs bei mod_search
  • Ausgabe des Empfängers bei mod_contact
  • Weitere Ausgaben bei mod_guestbook
Inhalt der Hilfe des Moduls hat geschrieben:printBreadcrumbNavi($navi, $activeRubric, $levels, $parent, $target, $trennText))
=================================================================================

Die Funktion funktioniert fast genauso wie die printnavigation(), die bei ConPresso mitgeliefert wird.
Aber passt auf die einzelnen Parameter auf, es gibt bei den letzen beiden minimale Unterschiede!!

Parameter:

$navi Hier kann man das Navigationsarray übergeben, das man mit getNavigation() bekommen kann. Wird der Defaultwert '' uebergeben, lädt sich diese Funktion diese Daten alleine.

$activeRubric Die aktuell aktive Rubrik. Wird der Defaultwert 0 übergeben, so wird automatisch die aktive Rubrik genommen ($GLOBALS['cpoRubric']['id'])

$levels Wie viele Ebenen sollen angezeigt werden. Der Standardwert ist 99 - wer mehr Ebenen hat, hat ein Problem mit seiner Navigation ;)

$parent Welches ist das Elternelement der auszugebenden Navigation? Der Defaultwert von "0" faengt in der Wurzel der Navigation an. Wird hier z.B. eine andere Navigations-Id angegeben, gibt ConPresso den Inhalt erst ab diesem Punkt aus. Das kann man z.B. nutzen, wenn man ganz oben zwei Ebenen "Deutsch" und "Englisch" hat und je nach Sprache eine andere Navigation ausgeben moechte.

$target Wird ein Standard-Targetübergeben, dann bekommen alle Navigationseinträge dieses zugewiesen, bei denen in der Navigation kein separates eingetragen ist. Der Standardwert hier ist "", also kein Target.

$trennText Wird zwischen den Navigationseinträgen ausgegeben. Der Standardwert hier ist " > ".

Wichtig: Die Funktion sollte folgendermaßen im _cfg/global_header.php oder _cfg/global_footer.php aufgerufen werden:

<?php
if(function_exists(printBreadcrumbNavi)) {
echo 'Sie befinden sich hier: <a href="http://'.$_SERVER['HTTP_HOST'].'">Startseite</a>';
printBreadcrumbNavi('', 0, 99, 0, '', '>');
}
?>

Natürlich kann die 3. Zeile durch etwas beliebiges anderes ersetzt werden. Sie gibt hier den Text "Sie befinden sich hier:" aus, gefolgt von einem Link zur Startseite. Dieser Link verweist auf das Rootverzeichnis des Webservers. Damit wird meist die Startseite des ConPresso-Systems aufgerufen.
Viel Spaß damit
Matthias

P.S. ich hoffe es sind keine Bugs drin
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Zuletzt geändert von Matthias V am 21.12.2007 15:46, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Lufine
ConPresso-Checker
Beiträge: 127
Registriert: 01.09.2006 10:15
Hat sich bedankt: 1 Mal

Beitrag von Lufine »

Danke Matthias,

ist schon eingebaut :)

Gruß
Lufine
Benutzeravatar
hscha
ConPresso-Experte
Beiträge: 525
Registriert: 22.02.2006 23:00
Wohnort: Berlin
Hat sich bedankt: 199 Mal
Danksagung erhalten: 17 Mal

statt ">" auch grafik?

Beitrag von hscha »

Hallo Matthias,

ich habe das Modul auch gleich eingebaut und es funktioniert prima! Gern hätte ich das ">" durch eine kleine Pfeilgrafik ersetzt. Leider wird aber der html-code dann als Text ausgegeben. Gibt's dafür eine Möglichkeit?

Vielen Dank und ein schönes 4. Adventswochenende wünscht
H.Schallnas, Berlin
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Hallo hscha,

suche doch in der _include/funktion.php nach allen Vorkommen von

Code: Alles auswählen

htmlspecialchars($trennText)
und ersetze es durch

Code: Alles auswählen

$trennText
Das könnte ich eigentlich auch generell so machen, dass dort immer HTML-Code möglich ist.

Gruß Matthias

P.S. Dies ist bereits seit 21.12.2007 im obigen Modul eingebaut!!
Zuletzt geändert von Matthias V am 24.01.2008 15:10, insgesamt 1-mal geändert.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
radamazone
ConPresso-Checker
Beiträge: 101
Registriert: 01.01.1970 02:00
Hat sich bedankt: 6 Mal

Danke hab es auch eingebaut

Beitrag von radamazone »

Danke hab es auch eingebaut, super :-)

Was aber an der modifizierten printnavigation.inc.php super war und jetzt fehlt, war dass für jede Ebene/Unterebene eine Klasse z.B.

Code: Alles auswählen

<ul class="navi1">
usw. erstellt wurde.

Das erleichtert z.B. die CSS-Erstellung, da man hier explizit einen gewählten Unterpunkt anders formatieren kann und nicht alle im Navigationsbaum auf

Code: Alles auswählen

<li class="active">
stehen.

Hier nochmal zur Verdeutlichung der generierte Code mit der modifizierten printnavigation.inc.php:

Code: Alles auswählen


<ul class="navi1">
	<li><a href="http://localhost/swa/cms/_rubric/index.php?rubric=home">Home</a></li>
	<li class="active"><a href="http://localhost/swa/cms/_rubric/index.php?rubric=products">Products</a>
	<ul class="navi2">
		<li><a href="http://localhost/swa/cms/_rubric/index.php?rubric=products_vacuum">Vacuum Circuit Breakers</a></li>
		<li class="active"><a href="http://localhost/swa/cms/_rubric/index.php?rubric=products_bs2000">BS 2000 Systems</a></li>
	</ul>
	</li>
	<li><a href="http://localhost/swa/cms/_rubric/index.php?rubric=news">News</a></li>
</ul>

und hier der generierte Code mit der normalen printnavigation.inc.php:

Code: Alles auswählen


<ul>
	<li><a href="http://localhost/swa/cms/_rubric/index.php?rubric=home">Home</a></li>
	<li class="active"><a href="http://localhost/swa/cms/_rubric/index.php?rubric=products">Products</a>
		<ul>
			<li><a href="http://localhost/swa/cms/_rubric/index.php?rubric=products_vacuum">Vacuum Circuit Breakers</a></li>
			<li class="active"><a href="http://localhost/swa/cms/_rubric/index.php?rubric=products_bs2000">BS 2000 Systems</a></li>
		</ul>
	</li>
	<li><a href="http://localhost/swa/cms/_rubric/index.php?rubric=news">News</a></li>
</ul>

Deshalb verwende ich immernoch gerne die modifizierte printnavigation.inc.php ;-)

Grüsse Sandra
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Hallo Sandra,

mit ein bisschen CSS kann man das auch nachbilden. Eine mehrfache Verschachtelung in den CSS-Definitionen ist auch kein Problem.

http://de.selfhtml.org/css/formate/zent ... e_elemente

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Wenn du es dir selber in der aktuellen _include/printnavigation.inc.php nachtragen willst:

Suche (Zeile 84):

Code: Alles auswählen

echo $ulstart;
Füge DAVOR ein:

Code: Alles auswählen

if ($ulstart != '') $ulstart = '<ul class="navi'.$level.'">';
Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
radamazone
ConPresso-Checker
Beiträge: 101
Registriert: 01.01.1970 02:00
Hat sich bedankt: 6 Mal

Beitrag von radamazone »

Danke,

das mit dem verschachtelten CSS wußte ich, ich finde es im Stylesheet jedoch übersichtlicher wenn die einzelnen ul-Ebenen verschiedene Klasssen haben.

Kann man eigentlich dem aktuell gewählten (aktiven) Navigationspunkt z.B. eine <a id="current"> o.Ä. zuweisen? So könnte man diesen nochmal gesondert hervorheben.

Oder wie mcht Ihr das?

Grüsse

Sandra
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Ja, das kann man.
Aber ich weiß gerade nicht genau wie. Da müsste man sich nochmal in die Printnavigation reindenken.
Kann aber sein, dass das schon mal im Forum diskutiert wurde.

Es hat auf jeden Fall was mit der Funktion getActiveElements() in der printnavigation.inc.php zu tun. Such doch mal im Wiki, wo da was dazu steht: http://wiki.conpresso.de/index.php/Main/Navigation

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
marcusp
ConPresso-User
Beiträge: 32
Registriert: 09.11.2006 17:55
Hat sich bedankt: 6 Mal

Beitrag von marcusp »

Hallo,

ich habe hier schon gesucht, aber nicht fündig geworden, welche PrintNavigation habe. Daher meine Frage: Wie kann ich die Breadcrumb-Navi per CSS so gestalten, das ich den Schrifttyp und Schriftgröße meinem Projekt anpassen kann??
Danke für Eure Hilfe!
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 02:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal

Beitrag von Matthias V »

Pack einfach ein div um die Ausgabe der Breadcrumb-Navi mit einer entsprechend benannten ID.
Im CSS kannst du es dann entsprechend angeben.

Bsp:

Code: Alles auswählen

<div id="breadcrumb">
<?php
if(function_exists(printBreadcrumbNavi)) {
echo 'Sie befinden sich hier: <a href="http://'.$_SERVER['HTTP_HOST'].'">Startseite</a>';
printBreadcrumbNavi('', 0, 99, 0, '', '>');
}
?> 
</div>
CSS-Datei:

Code: Alles auswählen

#breadcrumb {
    font-size: 8px;
}
#breadcrumb li {
    font-variant: italic;
}
Der zweite CSS-Eintrag definiert die Formatierung des Listenelements, welches sich unterhalb des Elements mit der ID "bradcrumb" befindet.

... das sind eigentlich nur HTML und CSS-Kenntnisse, die du dafür benötigst.

Gruß Matthias
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
marcusp
ConPresso-User
Beiträge: 32
Registriert: 09.11.2006 17:55
Hat sich bedankt: 6 Mal

Beitrag von marcusp »

Das ging ja fix mit der Antwort, danke!! Funktioniert prima das Modul. :-)
marcusp
ConPresso-User
Beiträge: 32
Registriert: 09.11.2006 17:55
Hat sich bedankt: 6 Mal

Beitrag von marcusp »

Irgendwie kommt ich mit dem Modul leider nicht weiter. Ich habe es mittlerweile problemlos eingebaut, und es funktioniert in den meisten Rubriken wunderbar.
Nur in wenigen Rubriken klappt es nicht, obwohl diese Rubriken in der Navigation enthalten sind:

Beispiel wo´s klappt:
http://www.feuerwehr-rahden.de/cms/_rub ... =Fahrzeuge

Hier klappts nicht:
http://www.feuerwehr-rahden.de/cms/_rub ... insatz2008

Die Template sind gleich, irgendwie sehe ich jedoch den Wald vor lauter Bäumen nicht mehr, daher wäre ich für Hilfe dankbar!
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7109
Registriert: 01.01.1970 02:00
Hat sich bedankt: 102 Mal
Danksagung erhalten: 916 Mal

Beitrag von MarkusR »

Nur in wenigen Rubriken klappt es nicht, obwohl diese Rubriken in der Navigation enthalten sind
Wie sicher bist Du Dir bei dieser Aussage?

Diese Rubriken sind weder über die Navigation erreichbar noch werden sie nach Auswahl dort als aktiv dargestellt. Oder übersehe ich da was?

Vielleicht hast Du einige Links als externe Links angelegt und stolperst jetzt darüber, daß diese nicht als aktiv gezeigt oder in der Breadcrumb-Navi angezeigt werden können?

Außerdem solltest Du dringend das hier beachten
http://community.conpresso.de/viewtopic.php?t=3257
(mir tut es einfach weh, wenn die Optik solche Macken aufweist)

Nachtrag: noch viel schlimmer!
Du hast im Pop-Up diese Zeile drinstehen

Code: Alles auswählen

<link rel="stylesheet" type="text/css" href="../_cfg/style.css">
aber diese Datei existiert auf Deinem Server gar nicht... daher kann Dein

Code: Alles auswählen

body
{margin-top: 0px; margin-left: 0px; margin-right: 0px;margin-bottom: 0px; background-color: #e6e6e6;
}
in Deiner eigentlichen CSS-Datei (format.css) da leider nichts bewirken
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
marcusp
ConPresso-User
Beiträge: 32
Registriert: 09.11.2006 17:55
Hat sich bedankt: 6 Mal

Beitrag von marcusp »

MarkusR hat geschrieben:
Nur in wenigen Rubriken klappt es nicht, obwohl diese Rubriken in der Navigation enthalten sind
Wie sicher bist Du Dir bei dieser Aussage?
Eigentlich bin ich mir sehr sicher. Ich hab mal einen Screenshot der Navi hochgeladen: http://www.pansing.de/upload/up/screenshot.jpg
Zur Verdeutlichung.

Vielen Dank auch für Deinen Tip mit den Pop-Ups. Werde das auch noch bearbeiten.