Seite 1 von 1

Navigation - Anzeige

Verfasst: Mo 10. Jan 2005, 17:43
von mario_dash
Hallo ihr lieben Contenido Fans!
Ich habe leider ein recht dringendes Problem. Es geht darum, dass ich in meinem Projekt eine Hauptnavigation verwende, die wie eine Baumstruktur aufgebaut ist. Das Problem, dass ich habe ist das immer die Unterebenen der anderen Bereiche nicht sichbar sind. Beispiel:

- Baum1
-- Punkt 1.1
-- Punkt 1.2

- Baum2
-- Punkt 2.1
-- Punkt 2.2

Das Problem ist, dass jeweils nur Baum1, Baum2 sowie die Punkte 1.1 und 1.2 sichbar sind (ohne klicks).

Ziel ist es, dass man Baum1 und Baum2 sowie alle unterpunkte sieht.

P.s: Ich nutzte das Navigationsmodul von Jan Heppe. Der Lösungsansatz hier im Forum (Problem gab es bereits) ist nicht realisierbar, da meine Baumstruktur sehr komplex ist. Auch der Verzicht auf die mehreren Bäume ist nicht möglich, da die Ebenen sehr tief gehen.

Für jede (schnelle) Hilfe bin ich sehr dankbar!!

VG Mario Dash

Verfasst: Di 11. Jan 2005, 12:26
von emergence
schau mal da ob das vielleicht brauchbar für dich ist...
http://www.contenido.de/forum/viewtopic ... ight=dhtml

Verfasst: Di 11. Jan 2005, 17:51
von mario_dash
Danke für den Beitrag. Hilft mir aber leider nicht.
Ziel ist es durch evtl. (z.B.) eine Änderung am SELECT, die Anzeige der Navigation wie oben beschrieben darzustellen.

P.s: Projektabgabe hab ich am Di. :cry: HILFE!!!!!


VG Mario Dash

Verfasst: Di 11. Jan 2005, 18:16
von HerrB
Dies ist der Code aus SPAW (Insert Link). Er liefert m.W. alles, was in der Datenbank enthalten ist, da bräuchte man sich nur noch das geeignete rauspicken (PHP-Kentnisse werden benötigt).

Das Ganze kann man - so wie es ist - natürlich noch nicht nutzen (ergibt eine DropDown-Box zur Auswahl eines Artikels/einer Kategorie).

Code: Alles auswählen

echo '              <select name="CMS_VAR[0]" size="1" disabled>',chr(10);
echo '                     <option value="">'.i18n("None").'</option>',chr(10);

$sql = "SELECT * FROM ".$cfg["tab"]["cat_tree"]." AS a,".$cfg["tab"]["cat_lang"]." AS b,
       ".$cfg["tab"]["cat"]." AS c WHERE a.idcat = b.idcat AND c.idcat = a.idcat AND
       c.idclient = '".$client."' AND b.idlang = '".$lang."' ORDER BY a.idtree";

$db->query($sql);

while ($db->next_record()) {
   $spaces = "";
   for ($i=0; $i<$db->f("level"); $i++) {
      $spaces .= "&nbsp;&nbsp;";
   }

   // echo '                     <option style="'.$style.'" value="'.$db->f("idcat").'">'.$spaces.' > '.$db->f("name").'</option>',chr(10);
   echo '                     <option style="font-weight: bold; color: #666666; background-color: #eeeeee;" value="">'.$spaces.' > '.$db->f("name").'</option>',chr(10);

   if ($cfg["is_start_compatible"] == true) {
      $sql2 = "SELECT * FROM ".$cfg["tab"]["cat_art"]." AS a, ".$cfg["tab"]["art"]." AS b,
              ".$cfg["tab"]["art_lang"]." AS c WHERE a.idcat = '".$db->f("idcat")."'
              AND b.idart = a.idart AND c.idart = a.idart AND
              c.idlang = '".$lang."' AND b.idclient = '".$client."' ORDER BY a.is_start DESC, c.title ASC";
   } else {
      $sql2 = "SELECT * FROM ".$cfg["tab"]["cat_art"]." AS a, ".$cfg["tab"]["art"]." AS b,
              ".$cfg["tab"]["art_lang"]." AS c WHERE a.idcat = '".$db->f("idcat")."'
              AND b.idart = a.idart AND c.idart = a.idart AND
              c.idlang = '".$lang."' AND b.idclient = '".$client."' ORDER BY c.title ASC";	
   }
  
   $db2->query($sql2);

   while ($db2->next_record()) {
      $selected = "";
      $tmp_title = $db2->f("title");
      if (strlen($tmp_title) > 32) {
         $tmp_title = substr($tmp_title, 0, 32);
      }

      $style = "";      	

      if ($cfg["is_start_compatible"] == true) {
         $is_start = $db2->f("is_start");
      } else {
         $is_start = isStartArticle($db2->f("idartlang"), $db2->f("idcat"), $lang);
         if ($is_start == true) {
            $is_start  = 1;
         } else {
            $is_start = 0;
         }
      }

      $strValue = $db2->f("idcatart");
      if ($is_start == 1 && $db2->f("online") == 0) {
         $style = "color: #ff0000";
         $strValue = "";
      }
      if ($is_start == 1 && $db2->f("online") == 1) {
         $style = "color: #0000ff";
      }
      if ($is_start == 0 && $db2->f("online") == 0) {
         $style = "color: #666666";
         $strValue = "";
      }
      if ($strHandlerID == $db2->f("idcatart")) {
         $selected = " selected";
      }
      echo '                     <option style="'.$style.'" value="'.$strValue.'"'.$selected.'>&nbsp;&nbsp;'.$spaces.' |&nbsp;&nbsp;'.$tmp_title.'</option>',chr(10);
  }
}
Gruß
HerrB

Verfasst: Di 11. Jan 2005, 21:02
von SkyBlader
tip als workaroaund

* Pro Baum ein Container im Layout deinieren

* Entsprechend der Anzahl Bäume NavModul Kopien anlöegen ( vorsicht wegen Funktion/Var/CMS_VALUE/CMS_VAR )

* Im Template jedem NavContainer ein Modul zuweisne

* Für jedes Modul in der Cat/Artikel konfigurationm entsprechend den Passenden Baum auswählen.


So wär dein Problem mit wenig Code änderungen Realisierbar

Ansonsten müsste man ein neues Modul schreiben oder ein bestehendes mit einigem Aufwand umbaun.

Einzigste Problem was ich darin sehe, ist wenn man ein Baum zum Bleistigft für die Servicenavigation/Hilfenavigation nehmen möchte ( a la Beispielpage ). Wie sollte das modzul das erkennen ? wenn der Catbaum offline wäre, würde er in der Hauptnav nicht berücksichtigt werden, könnte aber auch nicht für die Service/Hilfsnav hergenommen werden.

Mann könnte daher das Modul nur in speziell angelegten Projekten verwenden, aber sobald halt sowas dann gebraucht würde müsste man alles umbaun. .. sollte man sich dann schon vorher überlegen ob man da nicht die NavStruktur in ein Catbaum packt und ein einaderes NavModul verwendet ( Konzeptfrage ).

Ich persönlcih habe leider nicht die Zeit so ein NavModul zu schrieben ...... zumindenstens nicht die nächsten Wochen.

Bin schonf roh men mein MultiNav endlich fertig wird + ein paar andere feine Sachen für die COmmuntiy.

So long

Stefan

Verfasst: Mi 12. Jan 2005, 11:29
von Zeitgeist
@skyblader
+ ein paar andere feine Sachen für die COmmuntiy
neugierig guck