Umgestricktes Navi-Modul: leere Anzeige

Gesperrt
#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Umgestricktes Navi-Modul: leere Anzeige

Beitrag von #ayshe »

Hallo zusammen,

da ich verschiedene Navis brauche, habe ich mir das "Servicenavigation"-Modul leicht angepasst und dupliziert (heisst bei mir generell "Subnavi"). Ich habe nur den Output-Teil des Moduls angepasst und dort auch nur die gestalterischen Angaben im "echo". Genauer: Es soll keine Tabelle, sondern eine UL generiert werden. Jetzt wird der Bereich, wo diese Navigation erscheinen soll, aber leer angezeigt. Im generierten Sourcecode der Seite ist einfach nur eine Lücke (s.u.).

Output-Teil des Moduls:

Code: Alles auswählen

<?php

include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php");

$catStart = "CMS_VALUE[0]";

if ($catStart != "") {
  $catIds = conDeeperCategoriesArray($catStart);

    echo '<ul>';

  if ( is_array($catIds) ) {

    foreach($catIds as $key=>$val) {
      // Ersten Eintrag ueberspringen, weil das der Menupunkt selbst ist
      // und nicht angezeigt werden soll.
      if ($key != 0) {

        $sql = "SELECT CAT.idcat AS idcat, name FROM ".
               $cfg["tab"]["cat"]." AS CAT, ".
               $cfg["tab"]["cat_lang"]." AS CATLANG 
               WHERE CAT.idcat = ".$val."
               AND CAT.idcat = CATLANG.idcat
               AND CATLANG.idlang = '$lang'
               AND CATLANG.visible = '1'";

        $db->query($sql);

        $db2 = new DB_Contenido;
        
        while ( $db->next_record() ) {
        
           $target = "_self";
          
          /* Check for redirect and new window flag */
          $sql = "SELECT idart FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='". $db->f("idcat")."' AND is_start = '1'";
          $db2->query($sql);
          if ($db2->next_record())
          {
                $cidart = $db2->f("idart");
                $sql = "SELECT external_redirect FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '$cidart' AND idlang='$lang'";
                $db2->query($sql);
                if ($db2->next_record())
                {
                    $target = ( $db2->f("external_redirect") == 0 ) ? '_self' : '_blank';
                }
          }
          echo '<li>
          <a target="'.$target.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a></li>';
        } // end while
      } // if
    }  // end foreach
  } // end if (is_array)

  echo '</ul>';

}
?>
Auszug aus dem generierten Sourcecode:

Code: Alles auswählen

<div class="textboxlang">
<div id="katliste1">


<div></div>
Kann mir bitte jemand helfen bzw. einen Tip geben?
Muß ich vielleicht bei CMS_VALUE einen anderen Wert angeben?


#ayshe
Robatzen
Beiträge: 84
Registriert: Di 27. Jan 2004, 17:03
Kontaktdaten:

Beitrag von Robatzen »

Hatte mir Deinen Code grad mal reinkopiert, da scheint etwas mehr im argen zu sein als nur die Formatierung. Hab leider keine Zeit das in Ruhe durchzuschauen, wenn du eine Servicenavigation als Liste haben willst versuch mal bitte den folgenden Code, Grundlage ist auch hierbei die Servicenavigation, nur halt als Liste nicht in Tables.:

Bei mir tut das genau das was du haben möchtest!

Gruß, rob

Code: Alles auswählen

Input
// selected category
$selected = "CMS_VALUE[0]";

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Kategorie w�hlen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">";
            if($selected!="0" && $selected!=""){
             echo"<option value=\"0\">--- kein ---</option>";

            }else{
            echo"<option selected=\"selected\" value=\"0\">--- kein ---</option>";
            }

            // fetch all categorys
            $query = "SELECT A.idcat, A.level, C.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 C.visible=1 ORDER BY A.idtree";
            // execute query
            $db->query($query);

            // loop result and build the options
            while ($db->next_record()) {

              // indent spacer
              $spaces = "|";

              // how many levels
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // add 2 spaces for every level
                $spaces = $spaces . "--";

              } // end for
              
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // selected category
                echo "<option selected=\"selected\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // category
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>";

echo "    </td>
        </tr>
      </table>";

Code: Alles auswählen

Output
<?php 
 
 include_once($cfg["path"]["contenido"].$cfg["path"]["includes"]."functions.con.php"); 
 
 $catStart = "CMS_VALUE[0]"; 
 
 if ($catStart != "") { 
   $catIds = conDeeperCategoriesArray($catStart); 
 

   if ( is_array($catIds) ) { 
 
     foreach($catIds as $key=>$val) { 
       // Ersten Eintrag ueberspringen, weil das der Menupunkt selbst ist 
       // und nicht angezeigt werden soll. 
       if ($key != 0) { 
 
         $sql = "SELECT CAT.idcat AS idcat, name FROM ". 
                $cfg["tab"]["cat"]." AS CAT, ". 
                $cfg["tab"]["cat_lang"]." AS CATLANG 
                WHERE CAT.idcat = ".$val." 
                AND CAT.idcat = CATLANG.idcat 
                AND CATLANG.idlang = '$lang' 
                AND CATLANG.visible = '1'"; 
 
         $db->query($sql); 
 
         $db2 = new DB_Contenido; 
         
         while ( $db->next_record() ) { 
         
            $target = "_self"; 
           
           /* Check for redirect and new window flag */ 
           $sql = "SELECT idart FROM ".$cfg["tab"]["cat_art"]." WHERE idcat='". $db->f("idcat")."' AND is_start = '1'"; 
           $db2->query($sql); 
           if ($db2->next_record()) 
           { 
                 $cidart = $db2->f("idart"); 
                 $sql = "SELECT external_redirect FROM ".$cfg["tab"]["art_lang"]." WHERE idart = '$cidart' AND idlang='$lang'"; 
                 $db2->query($sql); 
                 if ($db2->next_record()) 
                 { 
                     $target = ( $db2->f("external_redirect") == 0 ) ? '_self' : '_blank'; 
                 } 
           } 
           echo '   <li><a target="'.$target.'" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a></li>'; 

         } // end while 
       } // if 
     }  // end foreach 
   } // end if (is_array) 
 
 } 
 ?> 
#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe »

Hi Rob,

vielen Dank für die schnelle Antwort und den Code.
Ich hab ihn bei mir reingepastet, aber das Ergebnis im generierten Sourcecode ist immer noch gähnenden Leere statt einer Navigation.

Dann liegt der Fehler wohl an was anderem, aber da ich m.E. schon alles durchgeforstet habe, weiß ich momentan nicht mehr wo ich suchen soll.
Also: Es gibt folgende Struktur:
Startseite
>Camps
>Sutherland
>Tom
Subnavigation

Die Subnavi ist per Modul eingebunden: klappt.
Auf der Startseite sind 3 Module für 3 verschiedene Navigationen eingebunden: leere Ausgabe.
Auf der Starseite der Kategore Camps ist eine Navi per Modul eingebunden: klappt.

Hier zur Anschauung auf meinem Testverzeichnis:
Startseite, wo's nicht klappt:
http://www.rot65.de/compernass_neu/front_content.php
Und hier die Seite mit nur einem Navi-Modul, wo's klappt:
http://www.rot65.de/compernass_neu/fron ... p?idcat=32


Noch 'n Vorschlag von jemandem hier im Forum? Ich bin echt am Ende :cry: ...mit meinem Latein.

Gruß,
#ayshe
scipio
Beiträge: 104
Registriert: Mo 9. Feb 2004, 18:03
Wohnort: Grevenbroich - NRW
Kontaktdaten:

Beitrag von scipio »

Steht denn was im CMS-Error-Log?
#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe »

Nö, keine Fehler im Error-Log.
#ayshe
Beiträge: 445
Registriert: Do 25. Mär 2004, 10:04
Kontaktdaten:

Beitrag von #ayshe »

Ähem, räusper...
Hat noch jemand nen Tip, was ich noch prüfen könnte? Die Verzeichnisse sind "online", ebenso die einzelnen Artikel. Und auf den Unterseiten sind genau die gleichen Navis eingebaut und da funzen sie.
Anscheinend gibt es aber Probs, wenn sie zusammen auf einer Seite eingebaut sind. Muss ich Variablen im Modul-Code ändern?
Nochmal zur Ansicht:
http://www.rot65.de/compernass_neu/front_content.php

Von da aus kann man sich schon etwas weiter durchklicken. Ihr seht dann, dass auf allen Unterseiten die genau gleichen Module funktionieren.

Hilfe wär echt toll. Sonst muß ich die Navi noch statisch bauen. :(

#ayshe
Gesperrt