Seite 1 von 1

Breadcrumb

Verfasst: Sa 16. Apr 2005, 11:52
von jost
Moin,

ich suche ein Breadcrumb-Modul, das die einzelnen Linktiefen auch anklickbar macht. Was ich habe, ist ein Modul aus dem Forum - allerdings wird der Breadcrumb da nur als normaler Text ausgegeben, also Home > Test 1 > Test 2, aber "test 1" und "home" sollten auch klickbar sein. Meine Suche ware molto unerfolgreich. Hat jemand einen Tipp?

Danke und Gruß,
J.

Verfasst: Sa 16. Apr 2005, 12:18
von OAA
kuckst du hier:

Code: Alles auswählen

<?php 

/*********************************************** 
* 
* MODUL: Location-String (ohne Startikel) 
* 
* Author    :     Martin Horwath 
* Created   :     10.09.2003 
* Modified  :     05.02.2005 (by matze) 
* 
************************************************/ 


$nav_tp = $idcat; 

// AUSGABE Location-String (nur Kategorien) 
while($nav_tp > 0) { 
  $sql = "SELECT 
              parentid, A.idcat, A.level, name 
          FROM 
              ".$cfg["tab"]["cat_tree"]." AS A, 
              ".$cfg["tab"]["cat"]." AS B, 
              ".$cfg["tab"]["cat_lang"]." AS C 
          WHERE 
              A.idcat=B.idcat AND 
              B.idcat=C.idcat AND 
              C.idlang='$lang' AND 
              B.idclient='$client' AND 
              B.idcat ='$nav_tp'"; 

  $db->query($sql); 
  $db->next_record(); 
  $nav_tree[$db->f("level")][idcat] = $nav_tp; 
  $nav_tree[$db->f("level")][parent] = $db->f("parentid"); 
  $nav_tree[$db->f("level")][name] = $db->f("name"); 
  $nav_tree[$db->f("level")][link] = $sess->url("front_content.php?idcat=".$db->f("idcat")."&client=".$client."&lang=".$lang.""); 
  $nav_tp = $db->f("parentid"); 
} 

for($i=0;$i<count($nav_tree);$i++) { 
  echo "<a class=\"breadcrump\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>"; 
  if($nav_tree[$i][idcat] != $idcat) { 
    echo " > "; // seperator 
  } 
} 



// AUSGABE vom aktuellen Artikeltitel 
$i=$i-1; 
$new_idart=$idart; 

$sql = "SELECT 
             idart, is_start 
        FROM 
              ".$cfg["tab"]["cat_art"]." 
        WHERE 
              idart='$new_idart' AND is_start='0'"; 

$db->query($sql); 

if($db->next_record()) { 

  $sql = "SELECT 
             idartlang, title 
          FROM 
              ".$cfg["tab"]["art_lang"]." 
          WHERE 
              idartlang='$new_idart'"; 

  $db->query($sql); 
  $db->next_record(); 
  $art_titel=$db->f("title"); 

echo " > <a class=\"breadcrump\" href=\"".$nav_tree[$i][link]."&idart=$new_idart\">".$art_titel."</a>"; 

} 
?> 


Verfasst: Sa 16. Apr 2005, 13:03
von jost
Herzlichen Dank - das ging ja schnell 8) Wenn jetz tnoch der BVB gewinnt, wird das ein prima Tag.

Verfasst: Mi 4. Mai 2005, 09:59
von jost
Oben genannten Breadcrumb habe ich jetzt eingebaut, bekomme es aber nicht hin, "ihm" einen Style zuzuweisen. Ich habe extra eine Klasse .breadcrumb geschrieben und der Zelle in meinem Template, in der der Breadcrumb ausgegeben wird, zugewiesen. Aber niente. Muss ich da ihm Code selber was zuweisen?

Ratlos und in der Hoffnung auf Tipps:

Jost

Verfasst: Mi 4. Mai 2005, 10:16
von HerrB
Nein, sollte auch so gehen. Statt .breadcrump kannst Du auch a.breadcrump (in der CSS-Definition) versuchen, aber gehen sollte es.

Gruß
HerrB

Verfasst: Mi 4. Mai 2005, 10:18
von emergence
wo hast du das style definiert ?
in einer externen stylesheet datei ?
wird diese im layout nachgeladen ?
mach mal nen reload der seite...

Verfasst: Mi 4. Mai 2005, 11:02
von jost
Freunde, besten Dank. Geht jetzt. Der Fehler war so trivial: "breadcrumb" stand in der CSS - aber "breadcrump" wäre ja richtig gewesen.

Sorry für meine Kurzsicht...

Verfasst: Mo 27. Jun 2005, 17:39
von mf_total
Hallo,

ich wollte nur mitteilen, dass das Modul genial ist. Ich brauchte es nur kopieren und einfügen und es hat ohne Anpassung sofort funktioniert - Danke!! (Ich hatte vorher viele Misserfolge mit anderen Modulen.) Für Einsteiger in Contenido ist das super. Ich muss mich erst langsam in das ganze Gerüst einfinden.

MfG

Code anpassen

Verfasst: Sa 2. Jul 2005, 12:05
von 2pauli
Wie müsste der Code aussehen, wenn ich immer nur die 2. Kategorieebene anzeigen lassen möchte?
Also "Hauptnavigation" soll nicht angezeigt werden, ebenso auch keine weitere 3., 4., ... Unterebene.

Verfasst: Mi 24. Aug 2005, 23:22
von vicky-pag
Hallo!

Klasse Modul, echt super - vielen Dank! :D

Ich habe das Design schon in einer CSS-Datei angepasst. Funktioniert alles super. Das einzige, was ich noch nicht farblich ändern konnte, war der ">" zwischen den verschiedenen Ebenen. Vielleicht kann mir da ja noch jemand einen Tipp geben.

Kann man das Modul auch so umschreiben, dass jeweils die erste Ebene (Hauptnavigation, Servicenavigation und News) nicht angezeigt wird? Ich habe leider noch keine Ahnung von PHP... :(

Es wäre toll, wenn mir jemand von euch "Großen" helfen könnte.

Danke und liebe Grüße aus Montabaur
Vicky :)

Verfasst: Do 25. Aug 2005, 10:35
von fumix
Das einzige, was ich noch nicht farblich ändern konnte, war der ">" zwischen den verschiedenen Ebenen. Vielleicht kann mir da ja noch jemand einen Tipp geben.

Die Separatoren können wie folgt beeinflusst werden:

An zwei Stellen Folgendes einfügen: <span class=\"breadcrumb\"> > </span>

...
echo " <span class=\"breadcrumb\"> > </span>"; // seperator
...

echo " <span class=\"breadcrumb\"> > </span> <a class=\"breadcrumb\" href=\"".$nav_tree[$i][link]."&idart=$new_idart\">".$art_titel."</a>";

In der CSS-Datei muss es natürlich die Klasse .breadcrumb geben.
Hier noch einmal der modifizierte Code:

Code: Alles auswählen

<?php 

/*********************************************** 
* 
* MODUL: Location-String (ohne Startikel) 
* 
* Author    :     Martin Horwath 
* Created   :     10.09.2003 
* Modified  :     05.02.2005 (by matze) 
* Modified  :     25.08.2005 (by fumix) 
* 
************************************************/ 


$nav_tp = $idcat; 

// AUSGABE Location-String (nur Kategorien) 
while($nav_tp > 0) { 
  $sql = "SELECT 
              parentid, A.idcat, A.level, name 
          FROM 
              ".$cfg["tab"]["cat_tree"]." AS A, 
              ".$cfg["tab"]["cat"]." AS B, 
              ".$cfg["tab"]["cat_lang"]." AS C 
          WHERE 
              A.idcat=B.idcat AND 
              B.idcat=C.idcat AND 
              C.idlang='$lang' AND 
              B.idclient='$client' AND 
              B.idcat ='$nav_tp'"; 

  $db->query($sql); 
  $db->next_record(); 
  $nav_tree[$db->f("level")][idcat] = $nav_tp; 
  $nav_tree[$db->f("level")][parent] = $db->f("parentid"); 
  $nav_tree[$db->f("level")][name] = $db->f("name"); 
  $nav_tree[$db->f("level")][link] = $sess->url("front_content.php?idcat=".$db->f("idcat")."&client=".$client."&lang=".$lang.""); 
  $nav_tp = $db->f("parentid"); 
} 

for($i=0;$i<count($nav_tree);$i++) { 
  echo "<a class=\"breadcrumb\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>"; 
  if($nav_tree[$i][idcat] != $idcat) { 
    echo " <span class=\"breadcrumb\">  > </span>"; // seperator 
  } 
} 



// AUSGABE vom aktuellen Artikeltitel 
$i=$i-1; 
$new_idart=$idart; 

$sql = "SELECT 
             idart, is_start 
        FROM 
              ".$cfg["tab"]["cat_art"]." 
        WHERE 
              idart='$new_idart' AND is_start='0'"; 

$db->query($sql); 

if($db->next_record()) { 

  $sql = "SELECT 
             idartlang, title 
          FROM 
              ".$cfg["tab"]["art_lang"]." 
          WHERE 
              idartlang='$new_idart'"; 

  $db->query($sql); 
  $db->next_record(); 
  $art_titel=$db->f("title"); 

echo " <span class=\"breadcrumb\">  > </span> <a class=\"breadcrumb\" href=\"".$nav_tree[$i][link]."&idart=$new_idart\">".$art_titel."</a>"; 

} 
?> 
Grüße aus LE

Verfasst: Fr 26. Aug 2005, 22:27
von vicky-pag
Hallo,

vielen Dank für den geänderten Code, aber leider funktioniert es noch nicht. Es scheint mir, als würde das Modul das Design, dass ich in der CSS-Datei beschriben habe, gar nicht annehmen. Und das, obwohl ich im Layout auf die Datei verweise (kein Schreibfehler :D )...

Vielleicht liegt es ja an meiner CSS-Datei. Ich weiß nicht, wo der Fehler steckt...

Code: Alles auswählen

/*breadcrumb*/

a.breadcrumb:text{
 font-family: helvetica, arial, geneva, sans-serif;
 color:#FFECBF;
} 
a.breadcrumb:link{
 color:#C1C9FF;
}
a.breadcrumb:visited{
 color:#C1C9FF;
}
Vielleicht könnt ihr mir ja weiterhelfen. :?
Liebe Grüße aus Montabaur
Vicky

P.S. Mit dem unveränderten Code für dieses Modul hatten ja wenigstens die Links die richtige Farbe. Liege ich mit der Annahme richtig, dass ich die Trennpfeile mit dem text-Abschnitt in der CSS-Datei bearbeiten können müsste??

Verfasst: Fr 16. Sep 2005, 20:09
von Simone
bei mir sind die a. alle groß geschrieben

Code: Alles auswählen

A.breadcrump:link	{font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #FFFFFF}
A.breadcrump:visited {font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #FFFFFF}
A.breadcrump:hover	{font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #D70029}
A.breadcrump:active	{font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #FFFFFF}

Hat das was zu sagen? Ich dachte ja auch immer, es wäre nicht wichtig, aber weil in meinem Ur.css die Links A. geschrieben sind, habe ich mich einfach dran gehalten.

Nur so ne Idee ...

Die Trennpfeile in der format.css

Code: Alles auswählen

.weiss {font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; color:#FFFFFF;}
Im Layout:

Code: Alles auswählen

 <td width="400" height="14" class="weiss">
<!--breadcrumb-->
CMS_CONTAINER[11]
<!--breadcrump ende-->
</td>
Simone[/code]

Verfasst: Fr 16. Sep 2005, 20:37
von i-fekt
Eine CSS Frage, endlich. :)

es ist unwichtig ob du das A klein oder groß schriebst.

Das hier:

Code: Alles auswählen

A.breadcrump:link   {font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #FFFFFF}
A.breadcrump:visited {font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #FFFFFF}
A.breadcrump:hover   {font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #D70029}
A.breadcrump:active   {font-family: verdana, helvetica, arial, geneva, sans-serif; font-size:10; text-decoration: none; color: #FFFFFF}
geht aber viel kleiner:

Code: Alles auswählen

a.breadcrump {
	font-family: verdana, helvetica, arial, geneva, sans-serif;
	font-size: 10px;
	text-decoration: none;
	color: #fff;
}

a.breadcrump:hover {
	color: #d70029;
}
Die Pfeile solltest so einfärben können:

Code: Alles auswählen

span.breadcrump {
	color: blue;
}

Verfasst: Sa 17. Sep 2005, 05:35
von Simone
Gewiß geht es kleiner, aber ich bin von Natur aus faul. Will heißen, wenn ich oben den Code habe, kopiere ich ihn, ändere nur schnell die Bezeichnung und die Farben.