Navigationspfad

Gesperrt
speedmaster
Beiträge: 59
Registriert: Mi 18. Apr 2007, 18:43
Kontaktdaten:

Navigationspfad

Beitrag von speedmaster »

Hallo,

ich setzte folgendes Modul als Navigationspfad ein, weiss aber nicht mehr aus welchem Thread ich es habe. Eventuell kann mir aber auch jemand so schnell helfen. Ich hätte gerne das bei diesem Modul der Kategoriehauptbaum nicht ausgegeben wird. Was muß hier geändert werden, das der Pfad nicht mehr als:

Hauptnavigation > Downloads > Bilder

ausgegeben wird, sondern so:


Downloads > Bilder

Hier der Code:

Code: Alles auswählen

<?php 
$nav_tp = $idcat; 
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"); 
} 
echo "<span class=\"pfad\"></span>"; 
for($i=0;$i<count($nav_tree)-1;$i++) { 
 echo "<a class=\"pfad\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>";  
  if($nav_tree[$i][idcat] != $idcat) { 
    echo "<span class=\"pfad\"> > </span>"; // seperator 
  } 
} 
$letzereintrag=count($nav_tree)-1; 
echo "<span class=\"pfad\">".$nav_tree[$letzereintrag][name]."</span>"; 

?> 
Über einen hilfreichen Tipp wäre ich dankbar. :wink:
wosch

Beitrag von wosch »

Nimm das Standard-Pfadmodul des Beispielmandanten, da ist es so.

Du findest es hier (2x weiterklicken)

http://www.contenido.de/forum/viewtopic.php?t=17159
speedmaster
Beiträge: 59
Registriert: Mi 18. Apr 2007, 18:43
Kontaktdaten:

Beitrag von speedmaster »

Danke für die Antwort, aber gerade das will ich nicht aus folgendem Grund. Das Standard Modul für den Navigationspfad verlinkt alle Kategorien. Ich brauche aber einen Navigationspfad der den letzte Kategorie im Pfad nicht verlinkt. Und genau das macht dieses Modul das ich angegeben habe. Nur wird hier leider die Hauptkategorie mit ausgegeben und die würde ich gerne weg haben.

Kann mir da bitte jemand helfen? :(
tinof
Beiträge: 197
Registriert: Mi 24. Jan 2007, 20:38
Wohnort: Kirchberg / Sa.
Kontaktdaten:

Beitrag von tinof »

Code: Alles auswählen

<?php 
$nav_tp = $idcat; 
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(); 

if ($db->f("parentid") != 0) { 

  $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"); 
} 
echo "<span class=\"pfad\"></span>"; 
for($i=0;$i<count($nav_tree)-1;$i++) { 
 echo "<a class=\"pfad\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>";  
  if($nav_tree[$i][idcat] != $idcat) { 
    echo "<span class=\"pfad\"> > </span>"; // seperator 
  } 
} 
$letzereintrag=count($nav_tree)-1; 
echo "<span class=\"pfad\">".$nav_tree[$letzereintrag][name]."</span>"; 

?> 
Tut's das ?
Für die Freizeit : www.hobbybrauer.de
speedmaster
Beiträge: 59
Registriert: Mi 18. Apr 2007, 18:43
Kontaktdaten:

Beitrag von speedmaster »

Hallo,

nein, jetzt habe ich gar keinen Navigationspfad mehr :(
Trotzdem Danke! :)
Wie könnte es denn noch gehen?
speedmaster
Beiträge: 59
Registriert: Mi 18. Apr 2007, 18:43
Kontaktdaten:

Beitrag von speedmaster »

Hat denn wirklich keiner mehr nen Tipp? :cry:
wosch

Beitrag von wosch »

So schlimm finde ich das nicht (eher sogar angenehm) das die letzte Kategorie im Pfad verlink ist, aber Geschmackssache.

Dein Modul läßt sich genauso mit der Startkategorie ändern wie das Standardmodul.

Der Schlüssel dazu liegt hier:

Code: Alles auswählen

echo "<span class=\"pfad\"></span>"; 
for($i=0;$i<count($nav_tree)-1;$i++) { 
 echo "<a class=\"pfad\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>";  
  if($nav_tree[$i][idcat] != $idcat) { 
    echo "<span class=\"pfad\"> > </span>"; // seperator 
Die Variable $i=wert gibt an von wo ab die Kategorien ausgegeben werden
0 = Ebene 0
1 = Ebene 1
...
Für deinen Wunsch müßtest du also den Code-Block so ändern:

Code: Alles auswählen

echo "<span class=\"pfad\"></span>"; 
for($i=1;$i<count($nav_tree)-1;$i++) { 
 echo "<a class=\"pfad\" href=\"".$nav_tree[$i][link]."\">".$nav_tree[$i][name]."</a>";  
  if($nav_tree[$i][idcat] != $idcat) { 
    echo "<span class=\"pfad\"> > </span>"; // seperator 
speedmaster
Beiträge: 59
Registriert: Mi 18. Apr 2007, 18:43
Kontaktdaten:

Beitrag von speedmaster »

Supi!!! Genau das habe ich gemeint. Viiiiieeeeelen Dank für deine Hilfe :D :lol: :P :wink: :!: :!:
Gesperrt