Service Navigation Vertikal / Kategorie fehlt

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Service Navigation Vertikal / Kategorie fehlt

Beitrag von Beleuchtfix » Di 8. Mär 2005, 15:00

Hallo, ich habe heute nach dem "Umhangen" von der Baumstruktur einige Problme mit der Servicenavigation vertikal.

Die Sitemap wird nicht angezeigt, wenn sie als letztes Element im Baum hängt, schiebe ich sie eine Stufe höher, dann ist sie wieder da. Schiebe ich den Artikel wieder runter, ist sie wieder weg.

Hier ist der SQL Abfragecode.

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); 

 
// Ausgabe der Liste
        echo '<ul id="nav-obre">';

// <table width="190" height="27" border="0" cellpadding="0" cellspacing="0">'; 

  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) { 


// 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 visible=1 "
;  //         AND C.visible=1 " neu eingefügt (FB)
        $db->query($sql); 

        while ( $db->next_record() ) { 
          echo '
		  
		<li>
		<a class="obre" href="front_content.php?idcat='.$db->f("idcat").'">'.$db->f("name").'</a>
		</li>
		'; 
        } // end while 
      } // if 
    }  // end foreach 
  } // end if (is_array) 

  echo '<ul>



'; 

} 
?>
Der Artikel ist weiterhin online, in der Sitemap werden die Seiten angezeigt.

Ist das ein Contenido Fehler beim Umhängen oder ein Fehler in der Abfrage.

Gruß
Florian

_________________
Contenido 4.4.4
Zuletzt geändert von Beleuchtfix am Mi 9. Mär 2005, 12:11, insgesamt 2-mal geändert.

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 8. Mär 2005, 16:26

wenn du das sql statement im phpmyadmin ausführst kriegst du dann alle daten ?
*** make your own tools (wishlist :: thx)

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Di 8. Mär 2005, 19:53

Das ist gar nicht so einfach, wenn man Contenido nicht von Innen kennt. :o

Ich habe die Abfrage jetzt geändert in

Code: Alles auswählen

       SELECT CAT.idcat AS idcat,  name FROM 
               con_cat AS CAT, 
               con_cat_lang  AS CATLANG,
               con_cat_tree AS CATTREE
               WHERE CAT.idcat = 201
               AND CAT.idcat = CATLANG.idcat 
               AND CATTREE.idcat = CAT.idcat 
               AND CATLANG.idlang = '$lang'
               AND CATTREE.level = '1'
               AND CATLANG.visible = '1'
Ganz klappt es noch nicht, ich vermute, dass ich für name noch etwas ersetzen muss. Weiss du, was da rein kommt.
Danke Florian

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 8. Mär 2005, 19:56

Beleuchtfix hat geschrieben:Ganz klappt es noch nicht, ich vermute, dass ich für name noch etwas ersetzen muss.
nein, name ist eine Spalte in der Tabelle con_cat_lang.

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Di 8. Mär 2005, 19:58

$lang musst du noch ersetzen, sehe ich gerade ...

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Di 8. Mär 2005, 20:18

OK, lang wars.
Also wenn ich die idcat der Sitemap eingebe, dann bekomme ich 201 Sitemap angezeigt.
Das ganze while ( $db->next_record() ) klappt natürlich nicht.

Hilft das weiter, oder soll ich sonst noch etwas suchen?

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Mi 9. Mär 2005, 12:19

Ich habe jetzt am Anfang einmal das ganze Modul gepostet, da ich festgestellt habe, dass die eigentlich SQL Abfrage wohl das richtige Ergebnis liefert. Also muss wohl der Fehler in der Steuerung der Abfrage liegen.

Das normale Hauptnavigationsmodul zeigt den Baum immer richtig an.

Wahrscheinlich gehört dieser Thread damit unter Module und nicht unter Bugs (sorry)

Gruß
Florian

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 9. Mär 2005, 12:29

na dann -> verschoben
*** make your own tools (wishlist :: thx)

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix » Mi 9. Mär 2005, 13:17

Also, ich komme im Testen weiter:
Funktion conDeeperCategoriesArray liefert mir nicht alle Kategorien :!:

Die Hauptnavigations benutzt diese Funkion nicht sondern catIsChildOf.

Vieleicht doch ein Bug :wink:
Gruß
Florian

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 9. Mär 2005, 13:57

ist schon möglich das die funktion nicht 100%ig korrekt arbeitet...
ich nehm mal den auszug der möglicherweise etwas damit zu tun hat...

Code: Alles auswählen

     $i = 0;

    while ( $db->next_record() ) {

        if ($db->f("parentid") < $idcat_start) {        // ending part of tree
            $i = 0;
        }

        if ($db->f("idcat") == $idcat_start) {        // starting part of tree
            $i = 1;
        }

        if ($i == 1) {
            $catstring[] = $db->f("idcat");
        }

    }
    return $catstring;
intressant find ich aber wirklich nur den teil

Code: Alles auswählen

        if ($db->f("parentid") < $idcat_start) {        // ending part of tree
            $i = 0;
        }
wenn die parentid kleiner ist als der angebene startwert wird diese kategorie nicht beim array ergänzt... ob das funktioniert ??

du könntest zuerst noch testen wie das query aussieht das die funktion liefert... und das im phpmyadmin testen... wäre auch möglich das dort schon die kategorie fehlt... glaub ich aber fast nicht...
*** make your own tools (wishlist :: thx)

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 9. Mär 2005, 14:26

irgendwie sehe ich da nen denkfehler in der routine

ich hab die funktion etwas umgeschrieben...
versuchs mal damit

Code: Alles auswählen

function conDeeperCategoriesArray($idcat_start)
{
    global $db, $client, $cfg;

    $sql = "SELECT
                *
            FROM
                ".$cfg["tab"]["cat_tree"]." AS A,
                ".$cfg["tab"]["cat"]." AS B
            WHERE
                A.idcat  = B.idcat AND
                idclient = '".$client."'
            ORDER BY
                idtree";

    $db->query($sql);

    $i = 0;

    while ( $db->next_record() ) {

        if ($i==1 && $db->f("level") <= $idcat_level) {  // ending part of tree
            $i = 0;
        }

        if ($db->f("idcat") == $idcat_start) {           // starting part of tree
            $i = 1;
            $idcat_level = $db->f("level");
        }

        if ($i == 1) {
            $catstring[] = $db->f("idcat");
        }

    }

    return $catstring;
}
wenn es damit geht ist das ein contenido bug...
*** make your own tools (wishlist :: thx)

Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Fehler in der function conDeeperCategoriesArray

Beitrag von Beleuchtfix » Mi 9. Mär 2005, 15:32

Hallo Emergence
Vielen Dank für die schnelle und komeptente Hilfe. Das wars (und damit dann auch ein Bug).

Ich habe die Funktion ausgetauscht, und jetzt zeigt die Kategorie richtig an.

Gruß
Florian

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 9. Mär 2005, 15:38

na dann verschieb ich das mal nach bugs 4.4 obwohl es die 4.5.x serie auch betrifft...
*** make your own tools (wishlist :: thx)

Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin » Mi 9. Mär 2005, 15:39

Du kannst ja bei Bugs 4.5 einen Beitrag mit einem Link hierher setzen. :wink:

emergence
Beiträge: 10641
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Mi 9. Mär 2005, 15:41

auch nicht schlecht ich kann es gar nicht in die bugs 4.4 verschieben...
dieses forum steht da nicht mehr zur auswahl...
gut nehmen wir halt bugs 4.5
*** make your own tools (wishlist :: thx)

Gesperrt