Navigationspfad

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

Navigationspfad

Beitrag von speedmaster » Do 24. Mai 2007, 16:03

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 » Do 24. Mai 2007, 17:48

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 » Fr 25. Mai 2007, 09:45

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 » Fr 25. Mai 2007, 10:54

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 » Fr 25. Mai 2007, 14:22

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 » Sa 26. Mai 2007, 18:22

Hat denn wirklich keiner mehr nen Tipp? :cry:

wosch

Beitrag von wosch » So 27. Mai 2007, 12:19

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 » So 27. Mai 2007, 16:17

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

Gesperrt