MEHRERE GETEILTE Hauptnavigationen !!!

Gesperrt
Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

MEHRERE GETEILTE Hauptnavigationen !!!

Beitrag von Zerberus » Fr 21. Apr 2006, 14:53

Hallo Zusammen,

ich bin relativ "jungfräulich" im Umgang mit Contenido, wollte aber mal testweise ein Kundenprojekt damit realisieren. Nicht zuletzt deshalb, da man diesem WCMS doch relativ einfache Bedien- und Anpassbarkeit nachsagt.

Bisher habe ich immer Mambo bzw. Joomla oder Digital Workroom verwendet. Doch ich hab jetzt die Erfahrung sammeln müssen, dass die Kunden zwar im Vorhinein ein relativ umfangreiches CMS wünschen, hinterher aber dann doch meistens schnell damit überfordert sind.

Ich denke nun mit Contenido einen guten Kompromiß gefunden zu haben. Aufgrund der intuitiven Bedienung und guten Skalierbarkeit, bin ich relativ begeistert von dem System, und werde es wohl in Zukunft vermehrt einsetzen.

Das nur als kleine Einstimmung... :D

Bisher bin ich eigentlich sehr gut zu Rande gekommen und hab mein erstes Kundenprojekt damit soweit gut im Griff, dank auch des guten Forums als Informationsquelle :D

Jetzt habe ich jedoch einen kleinen Hänger.

Mein Problem bezieht sich dabei auf den Einsatz von 2 GETEILTEN HAUPTNAVIGATIONEN

Ich weiss dass dieses Thema schon mehrfach behandelt wurde, jedoch habe ich auch nach längerem Suchen, zu diesem Problem keine Lösung gefunden.

Das was ich möchte ist, 2 der 'geteilten' Hauptnavigationen in einem Template verwenden.

[Container 20]
[Hauptnavigation 1, Ebene 1] -> Punkt 1 | Punkt 2 | Punkt 3
[Hauptnavigation 1, Ebene 2] -> Punkt 1.1 | Punkt 1.2 ...
...


irgendwo anders im Template dann:

[Container 30]
[Hauptnavigation 2, Ebene 1] -> Punkt 1 | Punkt 2 | Punkt 3
[Hauptnavigation 2, Ebene 2] -> Punkt 1.1 | Punkt 1.2 ...
...


Dafür habe ich wie bereits im Forum schon besprochen wurde, die 2 Module für die 'geteilte' Hauptnavigation dupliziert und in den 2 neuen Modulen die entsprechenden Funktionen catIsChildOf() und nav() unbenannt.

Es funktioniert auch insofern, dass beide geteilten Hauptnavigationen, in der 1. Ebene korrekt angezeigt werden.

Soweit so gut...

Das Problem ist aber nun, klicke ich auf die Hauptnavigation1 erscheinen doppelt die Untermenüpunkte des angewählten Punktes und bei Klick auf einen Link der Hauptnavigation 2, erhalte ich gar kein Untermenü an der definierten Stelle im Template.

Also irgendwie werden in meinem Container das die Unterpunkte der Hauptnavigation 2 anzeigen soll, (nochmal) die Unterpunkte der Hauptnavigation 1 angezeigt.

Das passt irgendwie alles nicht...

Kann er die Untermenüs den Hauptmenüs nicht zuordnen. Denn anscheinend scheint er nicht zu wissen, dass zur Hauptnavigation 2 auch evtl. Unterpunkte existieren.

Was muss ich evtl. denn alles noch anpassen, damit sich die beiden Navigationen nicht in die Quere kommen?

Hat da jemand eine Idee?

Gruss
Tom

xmurrix
Beiträge: 3151
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Fr 21. Apr 2006, 19:31

Hallo Tom,

bin mir nicht sicher, aber ich denke das von dir geschilderte Problem kann auftreten, wenn auch in der 2. Navigation, die Kategorieid der Hauptnavigation ausgelesen wird.

Wenn keine Kategorieid vorhanden ist, wird die id der Hauptkategorie aus den Mandanteneinstellungen ausgelesen.

Code: Alles auswählen

$cApiClient->getProperty('navigation','idcat_homepage')
Diese id sollte im Modul der 2. Hauptnaviation nicht verwendet werden. Hierzu kannst du unter "Administration -> Mandanten -> Mandanteneinstellungen" eine neue Variable anlegen, und als Wert gibst du dort die Kategorieid der 2 Navigationsebene an.

Code: Alles auswählen

Typ         Name               Wert
navigation  idcat_secondnavi   <id der 2. navigation>
Nun solltest du im Modulcode der 2. Navigation 'idcat_homepage' gegen 'idcat_secondnavi' ersetzen (kommt 2 x vor). Dann müssten sich die beiden Navigationen nicht in die Quere kommen.

Grüße
xmurrix

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Beitrag von Zerberus » So 23. Apr 2006, 13:12

Hallo xmurrix,

Grüsse aus Landsberg ;-)

Erstmal danke für deinen vielversprechenden Hinweis. Habe ihn soeben in die Tat umgesetzt und zumindest mit einem veränderten Verhalten der Navigationen gerechnet.

Es ist aber ärgerlicherweise leider alles beim Alten geblieben :cry:

Muss ich evtl. noch weitere Anpassungen machen?

Und warum erscheinen beim Klick auf einen Punkt der Hauptnavigation 1 die Unterpunkte trotzdem noch doppelt?

Ich hab im Moment keinen blassen Schimmer wo ich noch ansetzen kann...

Über weitere Ansätze würde mich freuen...

Gruss
Tom

xmurrix
Beiträge: 3151
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mo 24. Apr 2006, 10:34

Hallo Tom,

weis jetzt nicht, woran es liegen kann. Poste mal den Modulcode beider Navigationen, vielleicht lässt sich so eher was erkennen.

Gruß
xmurrix

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Die Modul-Codes

Beitrag von Zerberus » Mo 24. Apr 2006, 16:00

So da!

Hier die Modulcodes für die beiden geteilten Hauptnavigation und deren Unternavigationen.

Vielleicht bring das Licht ins Dunkle...


// HAUPTNAVIGATION 1 - EBENE 1

OUTPUT

Code: Alles auswählen

<?php 
/******************************************************************** 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname     :     Hauptnavigation 
* Author(s)   :     Jan Lengowski, Andreas Lindner, 4fb 
* Copyright   :     Contenido - four for business, Andreas Lindner 
* Created     :     12.08.2005 
* Modifier   :   Oliver Simon, simon-oliver.com 
* Modified   :   27.11.2005 
*********************************************************************/ 

#System properties in use: 
#Type: navigation, Name: idcat_homepage 
#Contains idcat of tree to be displayed in main navigation 

#Includes 
cInclude("frontend", "includes/functions.navigation.php"); 

#If no tree is selected, use client setting 
$start_cat = "CMS_VALUE[0]"; 
if ($start_cat=='') { 
    $cApiClient = new cApiClient($client); 
   $start_cat = $cApiClient->getProperty('navigation','idcat_homepage'); 
} 

if ( !is_object($db2) ) { 
    $db2 = new DB_Contenido; 
} 

/** 
 * Check if a category is child 
 * of another category 
 * 
 * @return boolean true/false 
 * @author Jan Lengowski <Jan.Lengowski@4fb.de> 
 * @copyright four for business AG 2003 
 */ 
function catIsChildOf($id, $idparent) { 

    global $cfg, $client, $lang; 

    $db = new DB_Contenido; 

    $parent = $id; 

    while ( $parent != 0 ) { 

        $sql = "SELECT 
                    a.parentid 
                FROM 
                    ".$cfg["tab"]["cat"]." AS a, 
                    ".$cfg["tab"]["cat_lang"]." AS b 
                WHERE 
                    a.idclient  = '".$client."' AND 
                    b.idlang    = '".$lang."' AND 
                    a.idcat     = b.idcat AND 
                    a.idcat   = '".$parent."'"; 

        $db->query($sql); 
        $db->next_record(); 

        $parent = $db->f("parentid"); 

        if ($parent == $idparent) { 
            return true; 
        } 

    } 

    return false; 

} 

if ( catIsChildOf($idcat, $start_cat) ) { 
    $sel_idcat = $idcat; 
} else { 
    $sel_idcat = $start_cat; 
} 

/* Include Template Class */ 
include_once($cfg["path"]["contenido"] . 'classes/class.template.php'); 

/** 
 * Array storing alle the 
 * navigation data 
 */ 
$navitems = array(); 


/* Template Instance */ 
$tpl = new Template; 

/** 
 * Recursive function for creating 
 * the navigation array 
 * @param Int $idcat Category id 
 */ 
function nav($idcat) { 

        global $navitems, $client, $lang, $cfg, $start_cat; 

        $db  = new DB_Contenido; 
        $db2 = new DB_Contenido; 

        $sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'"; 

        $db->query($sql); 
        $db->next_record(); 

        $parentid = $db->f("parentid"); 

        if ( $parentid == 0 ) { 

           if ( $idcat != $start_cat ){ 

                $navitems = array(); 
              
                $sql = "SELECT 
                            A.idcat, 
                            C.name 
                        C.public, 
                        C.idcatlang 
                        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 
                            B.idclient  = '$client' AND 
                            C.idlang    = '$lang'   AND 
                            C.visible   = '1'       AND 
                            B.parentid  = '".$start_cat."' 
                        ORDER 
                            BY A.idtree"; 

                      $db->query($sql); 

                      while ($db->next_record()) { 

                            /* Check for external redirects... */ 
                            $sql = "SELECT 
                                        a.external_redirect AS ext, 
                                        a.idartlang AS idartlang 
                                    FROM 
                                        ".$cfg["tab"]["art_lang"]." AS a, 
                                        ".$cfg["tab"]["cat_art"]." AS b, 
                                        ".$cfg["tab"]["cat"]." AS c 
                                    WHERE 
                                        b.idcat     = '".$db->f("idcat")."' AND 
                                        c.idclient  = '".$client."' AND 
                                        c.idcat     = b.idcat AND 
                                        a.idart     = b.idart AND 
                                        a.idlang    = '".$lang."'"; 

                            $db2->query($sql); 
                            $flag = false; 
                     while ($db2->next_record()&&!$flag) { 
                               if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang)) 
                               { 
                           $flag = true; 
                                   $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 
    
                                   $navitems[$db->f("idcat")] = array("idcat"      => $db->f("idcat"), 
                                                                       "name"      => $db->f("name"), 
                                                                       "target"    => $target, 
                                                                 "public" => $db->f("public"), 
                                                                "idcatlang" => $db->f("idcatlang")); 
                               } 
                     } 
                      } 

           } 
            
           return true; 
        } 

        $sql = "SELECT 
                    A.idcat, 
                    C.name, 
                  C.public, 
                    C.idcatlang 
                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 
                    B.idclient  = '$client' AND 
                    C.idlang    = '$lang'   AND 
                    C.visible   = '1'       AND 
                    B.parentid  = '$parentid' 
                ORDER BY 
                    A.idtree"; 

        $db->query($sql); 

        while ($db->next_record()) { 

                /* Check for external redirects... */ 
                $sql = "SELECT 
                            a.external_redirect AS ext, 
                            a.idartlang AS idartlang 
                        FROM 
                            ".$cfg["tab"]["art_lang"]." AS a, 
                            ".$cfg["tab"]["cat_art"]." AS b, 
                            ".$cfg["tab"]["cat"]." AS c 
                        WHERE 
                            b.idcat     = '".$db->f("idcat")."' AND 
                            c.idclient  = '".$client."' AND 
                            c.idcat     = b.idcat AND 
                            a.idart     = b.idart AND 
                            a.idlang    = '".$lang."'"; 

                $db2->query($sql); 
            $flag = false; 
                while ($db2->next_record() && !$flag) { 
                   if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang)) 
                   { 
                  $flag = true; 
                       $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 
                       
                       $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"), 
                                                         "name"    => $db->f("name"), 
                                                          "public" => $db->f("public"), 
                                                  "idcatlang" => $db->f("idcatlang"), 
                                                         "target"  => $target); 
                   } 
            } 
        } 

        $tmp_nav[$idcat]["sub"] = $navitems; 
        $navitems = $tmp_nav; 

        /* Function call */ 
        nav($parentid); 

}  // end function 

$sql = "SELECT 
            A.idcat, 
            C.name, 
          C.public, 
             C.idcatlang 
        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 
            B.idclient  = '$client' AND 
            C.idlang    = '$lang'   AND 
            C.visible   = '1'       AND 
            B.parentid  = '$sel_idcat' 
        ORDER BY 
            A.idtree"; 

$db->query($sql); 

while ( $db->next_record() ) { 

        /* Check for external redirects... */ 
        $sql = "SELECT 
                    a.external_redirect AS ext, 
                    a.idartlang AS idartlang 
                FROM 
                    ".$cfg["tab"]["art_lang"]." AS a, 
                    ".$cfg["tab"]["cat_art"]." AS b, 
                    ".$cfg["tab"]["cat"]." AS c 
                WHERE 
                    b.idcat     = '".$db->f("idcat")."' AND 
                    c.idclient  = '".$client."' AND 
                    c.idcat     = b.idcat AND 
                    a.idart     = b.idart AND 
                    a.idlang    = '".$lang."'"; 

        $db2->query($sql); 
        #$db2->next_record(); 
      $flag = false; 
      while ($db2->next_record()&&!$flag) { 
           if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang)) 
           { 
            $flag = true; 
               $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 
       
               $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"), 
                                                  "name"   => $db->f("name"), 
                                                  "public" => $db->f("public"), 
                                            "idcatlang" => $db->f("idcatlang"), 
                                                  "target" => $target); 
           } 
      } 
} 

/* Create Navigation Array */ 
if(($sel_idcat=='')||($sel_idcat=='0')){ 
    $cApiClient = new cApiClient($client); 
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage'); 
} 

nav($sel_idcat); 

/* Start Output buffer */ 
ob_start(); 

foreach ($navitems as $key => $data) { 

    /* 1. Navigation level */ 
   if (checkCatPermission($data['idcatlang'],$data['public'])) { 
       $tpl->reset(); 
       $tpl->set('d', 'NAME',  $data['name']); 
       $tpl->set('d', 'TARGET', $data['target']); 
       $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'])); 

       $tpl->next(); 
       if ($idcat == $data['idcat']) { 
           $tpl->generate('templates/navfirst_on.html'); 
      }elseif(is_array($data['sub'])){ 
           $tpl->generate('templates/navfirst_open.html'); 
       } else { 
           $tpl->generate('templates/navfirst_off.html'); 
       } 
   } // end if 
} // end foreach 

/* Read out buffer */ 
$html = ob_get_contents(); 

/* Clean buffer */ 
ob_end_clean(); 

/* Output buffer-contents */ 
echo "<table height='24px'  border='0' align='center' cellpadding='0' cellspacing='0'><tr>";
echo $html; 
echo "</table></tr>";
?> 

// HAUPTNAVIGATION 1 - EBENE 2 (UNTERNAVIGATION)

OUTPUT

Code: Alles auswählen

<?php 


/* Include Template Class */ 
include_once($cfg["path"]["contenido"] . 'classes/class.template.php'); 

/** 
 * Array storing alle the 
 * navigation data 
 */ 
$navitems = array(); 


/* Template Instance */ 
$tpl = new Template; 

$sql = "SELECT 
            A.idcat, 
            C.name, 
          C.public, 
             C.idcatlang 
        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 
            B.idclient  = '$client' AND 
            C.idlang    = '$lang'   AND 
            C.visible   = '1'       AND 
            B.parentid  = '$sel_idcat' 
        ORDER BY 
            A.idtree"; 

$db->query($sql); 

while ( $db->next_record() ) { 

        /* Check for external redirects... */ 
        $sql = "SELECT 
                    a.external_redirect AS ext, 
                    a.idartlang AS idartlang 
                FROM 
                    ".$cfg["tab"]["art_lang"]." AS a, 
                    ".$cfg["tab"]["cat_art"]." AS b, 
                    ".$cfg["tab"]["cat"]." AS c 
                WHERE 
                    b.idcat     = '".$db->f("idcat")."' AND 
                    c.idclient  = '".$client."' AND 
                    c.idcat     = b.idcat AND 
                    a.idart     = b.idart AND 
                    a.idlang    = '".$lang."'"; 

        $db2->query($sql); 
        #$db2->next_record(); 
      $flag = false; 
      while ($db2->next_record()&&!$flag) { 
           if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang)) 
           { 
            $flag = true; 
               $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank'; 
       
               $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"), 
                                                  "name"   => $db->f("name"), 
                                                  "public" => $db->f("public"), 
                                            "idcatlang" => $db->f("idcatlang"), 
                                                  "target" => $target); 
           } 
      } 
} 

/* Create Navigation Array */ 
if(($sel_idcat=='')||($sel_idcat=='0')){ 
    $cApiClient = new cApiClient($client); 
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_homepage'); 
} 

nav($sel_idcat); 

/* Start Output buffer */ 
ob_start(); 

foreach ($navitems as $key => $data) { 

   if (checkCatPermission($data['idcatlang'],$data['public'])) { 

       /* 2. Navigation level */ 
       if (is_array($data['sub'])) { 
           foreach ($data['sub'] as $key => $data) { 
            if (checkCatPermission($data['idcatlang'],$data['public'])) { 
$abschluss ="<div align='left'><hr style='width:150px'></div>";
                  $tpl->reset(); 
                  $tpl->set('d', 'NAME',  $data['name']); 
                  $tpl->set('d', 'TARGET', $data['target']); 
                  $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'])); 
                  $tpl->next(); 
                  if ($idcat == $data['idcat']) { 
                      $tpl->generate('templates/navsecond_on.html'); 
               }elseif(is_array($data['sub'])){ 
                    $tpl->generate('templates/navsecond_open.html'); 
                  } else { 
                      $tpl->generate('templates/navsecond_off.html'); 
                  } 

          /* 3. Navigation level */ 
                  if (is_array($data['sub'])) { 
                      foreach ($data['sub'] as $key => $data) { 
                     if (checkCatPermission($data['idcatlang'],$data['public'])) { 
                             $tpl->reset(); 
                             $tpl->set('d', 'NAME',  $data['name']); 
                             $tpl->set('d', 'TARGET', $data['target']); 
                             $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'])); 
                             $tpl->next(); 
          
                             if ($idcat == $data['idcat']) { 
                                 $tpl->generate('templates/navthird_on.html'); 
                        }elseif(is_array($data['sub'])){ 
                             $tpl->generate('templates/navthird_open.html'); 
                             } else { 
                                 $tpl->generate('templates/navthird_off.html'); 
                             } 

                             /* 4. Navigation level */ 
                           if (is_array($data['sub'])) { 
                               foreach ($data['sub'] as $key => $data) { 
                              if (checkCatPermission($data['idcatlang'],$data['public'])) { 
                                      $tpl->reset(); 
                                      $tpl->set('d', 'NAME',  $data['name']); 
                                      $tpl->set('d', 'TARGET', $data['target']); 
                                      $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'])); 
                                      $tpl->next(); 
                                      if ($idcat == $data['idcat']) { 
                                          $tpl->generate('templates/navfourth_on.html'); 
                                 }elseif(is_array($data['sub'])){ 
                                      $tpl->generate('templates/navfourth_open.html'); 
                                      } else { 
                                          $tpl->generate('templates/navfourth_off.html'); 
                                      } 

                                      /* 5. Navigation level */ 
                                    if (is_array($data['sub'])) { 
                                        foreach ($data['sub'] as $key => $data) { 
                                       if (checkCatPermission($data['idcatlang'],$data['public'])) { 
                                               $tpl->reset(); 
                                               $tpl->set('d', 'NAME',  $data['name']); 
                                               $tpl->set('d', 'TARGET', $data['target']); 
                                               $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'])); 
                                               $tpl->next(); 
                                               if ($idcat == $data['idcat']) { 
                                                   $tpl->generate('templates/navfifth_on.html'); 
                                               } else { 
                                                   $tpl->generate('templates/navfifth_off.html'); 
                                               } 
                                          } // end if 
                                        } // end foreach 
                                    } // end if 
                                 } // end if 
                               } // end foreach 
                           } // end if 
                        } // end if 
                      } // end foreach 
                  } // end if 
               } // end if 
           } // end foreach 
          } // end if 
    } // end if 
} // end foreach 

/* Read out buffer */ 
$html = ob_get_contents(); 

/* Clean buffer */ 
ob_end_clean(); 

/* Output buffer-contents */ 
echo $html; 
echo $abschluss;
?> 

// HAUPTNAVIGATION 2 - EBENE 1

OUTPUT

Code: Alles auswählen

<?php
/********************************************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname     :     Hauptnavigation
* Author(s)   :     Jan Lengowski, Andreas Lindner, 4fb
* Copyright   :     Contenido - four for business, Andreas Lindner
* Created     :     12.08.2005
* Modifier   :   Oliver Simon, simon-oliver.com
* Modified   :   27.11.2005
*********************************************************************/

#System properties in use:
#Type: navigation, Name: idcat_homepage
#Contains idcat of tree to be displayed in main navigation

#Includes
cInclude("frontend", "includes/functions.navigation.php");

#If no tree is selected, use client setting
$start_cat = "CMS_VALUE[0]";
if ($start_cat=='') {
    $cApiClient = new cApiClient($client);
   $start_cat = $cApiClient->getProperty('navigation','idcat_hilfsnavi');
}

if ( !is_object($db2) ) {
    $db2 = new DB_Contenido;
}

/**
 * Check if a category is child
 * of another category
 *
 * @return boolean true/false
 * @author Jan Lengowski <Jan.Lengowski@4fb.de>
 * @copyright four for business AG 2003
 */
function catIsChildOf2($id, $idparent) {

    global $cfg, $client, $lang;

    $db = new DB_Contenido;

    $parent = $id;

    while ( $parent != 0 ) {

        $sql = "SELECT
                    a.parentid
                FROM
                    ".$cfg["tab"]["cat"]." AS a,
                    ".$cfg["tab"]["cat_lang"]." AS b
                WHERE
                    a.idclient  = '".$client."' AND
                    b.idlang    = '".$lang."' AND
                    a.idcat     = b.idcat AND
                    a.idcat   = '".$parent."'";

        $db->query($sql);
        $db->next_record();

        $parent = $db->f("parentid");

        if ($parent == $idparent) {
            return true;
        }

    }

    return false;

}

if ( catIsChildOf2($idcat, $start_cat) ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = $start_cat;
}

/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

/**
 * Array storing alle the
 * navigation data
 */
$navitems = array();


/* Template Instance */
$tpl = new Template;

/**
 * Recursive function for creating
 * the navigation array
 * @param Int $idcat Category id
 */
function nav2($idcat) {

        global $navitems, $client, $lang, $cfg, $start_cat;

        $db  = new DB_Contenido;
        $db2 = new DB_Contenido;

        $sql = "SELECT parentid FROM ".$cfg["tab"]["cat"]." WHERE idcat = '$idcat'";

        $db->query($sql);
        $db->next_record();

        $parentid = $db->f("parentid");

        if ( $parentid == 0 ) {

           if ( $idcat != $start_cat ){

                $navitems = array();

                $sql = "SELECT
                            A.idcat,
                            C.name
                        C.public,
                        C.idcatlang
                        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
                            B.idclient  = '$client' AND
                            C.idlang    = '$lang'   AND
                            C.visible   = '1'       AND
                            B.parentid  = '".$start_cat."'
                        ORDER
                            BY A.idtree";

                      $db->query($sql);

                      while ($db->next_record()) {

                            /* Check for external redirects... */
                            $sql = "SELECT
                                        a.external_redirect AS ext,
                                        a.idartlang AS idartlang
                                    FROM
                                        ".$cfg["tab"]["art_lang"]." AS a,
                                        ".$cfg["tab"]["cat_art"]." AS b,
                                        ".$cfg["tab"]["cat"]." AS c
                                    WHERE
                                        b.idcat     = '".$db->f("idcat")."' AND
                                        c.idclient  = '".$client."' AND
                                        c.idcat     = b.idcat AND
                                        a.idart     = b.idart AND
                                        a.idlang    = '".$lang."'";

                            $db2->query($sql);
                            $flag = false;
                     while ($db2->next_record()&&!$flag) {
                               if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
                               {
                           $flag = true;
                                   $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

                                   $navitems[$db->f("idcat")] = array("idcat"      => $db->f("idcat"),
                                                                       "name"      => $db->f("name"),
                                                                       "target"    => $target,
                                                                 "public" => $db->f("public"),
                                                                "idcatlang" => $db->f("idcatlang"));
                               }
                     }
                      }

           }

           return true;
        }

        $sql = "SELECT
                    A.idcat,
                    C.name,
                  C.public,
                    C.idcatlang
                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
                    B.idclient  = '$client' AND
                    C.idlang    = '$lang'   AND
                    C.visible   = '1'       AND
                    B.parentid  = '$parentid'
                ORDER BY
                    A.idtree";

        $db->query($sql);

        while ($db->next_record()) {

                /* Check for external redirects... */
                $sql = "SELECT
                            a.external_redirect AS ext,
                            a.idartlang AS idartlang
                        FROM
                            ".$cfg["tab"]["art_lang"]." AS a,
                            ".$cfg["tab"]["cat_art"]." AS b,
                            ".$cfg["tab"]["cat"]." AS c
                        WHERE
                            b.idcat     = '".$db->f("idcat")."' AND
                            c.idclient  = '".$client."' AND
                            c.idcat     = b.idcat AND
                            a.idart     = b.idart AND
                            a.idlang    = '".$lang."'";

                $db2->query($sql);
            $flag = false;
                while ($db2->next_record() && !$flag) {
                   if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
                   {
                  $flag = true;
                       $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

                       $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"),
                                                         "name"    => $db->f("name"),
                                                          "public" => $db->f("public"),
                                                  "idcatlang" => $db->f("idcatlang"),
                                                         "target"  => $target);
                   }
            }
        }

        $tmp_nav[$idcat]["sub"] = $navitems;
        $navitems = $tmp_nav;

        /* Function call */
        nav2($parentid);

}  // end function

$sql = "SELECT
            A.idcat,
            C.name,
          C.public,
             C.idcatlang
        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
            B.idclient  = '$client' AND
            C.idlang    = '$lang'   AND
            C.visible   = '1'       AND
            B.parentid  = '$sel_idcat'
        ORDER BY
            A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

        /* Check for external redirects... */
        $sql = "SELECT
                    a.external_redirect AS ext,
                    a.idartlang AS idartlang
                FROM
                    ".$cfg["tab"]["art_lang"]." AS a,
                    ".$cfg["tab"]["cat_art"]." AS b,
                    ".$cfg["tab"]["cat"]." AS c
                WHERE
                    b.idcat     = '".$db->f("idcat")."' AND
                    c.idclient  = '".$client."' AND
                    c.idcat     = b.idcat AND
                    a.idart     = b.idart AND
                    a.idlang    = '".$lang."'";

        $db2->query($sql);
        #$db2->next_record();
      $flag = false;
      while ($db2->next_record()&&!$flag) {
           if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
           {
            $flag = true;
               $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

               $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
                                                  "name"   => $db->f("name"),
                                                  "public" => $db->f("public"),
                                            "idcatlang" => $db->f("idcatlang"),
                                                  "target" => $target);
           }
      }
}

/* Create Navigation Array */
if(($sel_idcat=='')||($sel_idcat=='0')){
    $cApiClient = new cApiClient($client);
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_hilfsnavi');
}

nav2($sel_idcat);

/* Start Output buffer */
ob_start();

foreach ($navitems as $key => $data) {

    /* 1. Navigation level */
   if (checkCatPermission($data['idcatlang'],$data['public'])) {
       $tpl->reset();
       $tpl->set('d', 'NAME',  $data['name']);
       $tpl->set('d', 'TARGET', $data['target']);
       $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));

       $tpl->next();
       if ($idcat == $data['idcat']) {
           $tpl->generate('templates/head_navfirst_on.html');
      }elseif(is_array($data['sub'])){
           $tpl->generate('templates/head_navfirst_open.html');
       } else {
           $tpl->generate('templates/head_navfirst_off.html');
       }
   } // end if
} // end foreach

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;
?>

// HAUPTNAVIGATION 2 - EBENE 2 (UNTERNAVIGATION)

OUTPUT

Code: Alles auswählen

<?php


/* Include Template Class */
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

/**
 * Array storing alle the
 * navigation data
 */
$navitems = array();


/* Template Instance */
$tpl = new Template;

$sql = "SELECT
            A.idcat,
            C.name,
          C.public,
             C.idcatlang
        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
            B.idclient  = '$client' AND
            C.idlang    = '$lang'   AND
            C.visible   = '1'       AND
            B.parentid  = '$sel_idcat'
        ORDER BY
            A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

        /* Check for external redirects... */
        $sql = "SELECT
                    a.external_redirect AS ext,
                    a.idartlang AS idartlang
                FROM
                    ".$cfg["tab"]["art_lang"]." AS a,
                    ".$cfg["tab"]["cat_art"]." AS b,
                    ".$cfg["tab"]["cat"]." AS c
                WHERE
                    b.idcat     = '".$db->f("idcat")."' AND
                    c.idclient  = '".$client."' AND
                    c.idcat     = b.idcat AND
                    a.idart     = b.idart AND
                    a.idlang    = '".$lang."'";

        $db2->query($sql);
        #$db2->next_record();
      $flag = false;
      while ($db2->next_record()&&!$flag) {
           if (isStartArticle($db2->f("idartlang"), $db->f("idcat"), $lang))
           {
            $flag = true;
               $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

               $navitems[$db->f("idcat")] = array("idcat"  => $db->f("idcat"),
                                                  "name"   => $db->f("name"),
                                                  "public" => $db->f("public"),
                                            "idcatlang" => $db->f("idcatlang"),
                                                  "target" => $target);
           }
      }
}

/* Create Navigation Array */
if(($sel_idcat=='')||($sel_idcat=='0')){
    $cApiClient = new cApiClient($client);
    $sel_idcat = $cApiClient->getProperty('navigation', 'idcat_hilfsnavi');
}

nav2($sel_idcat);

/* Start Output buffer */
ob_start();

foreach ($navitems as $key => $data) {

   if (checkCatPermission($data['idcatlang'],$data['public'])) {

       /* 2. Navigation level */
       if (is_array($data['sub'])) {
           foreach ($data['sub'] as $key => $data) {
            if (checkCatPermission($data['idcatlang'],$data['public'])) {
$abschluss ="<div align='left'><hr style='width:150px'></div>";
                  $tpl->reset();
                  $tpl->set('d', 'NAME',  $data['name']);
                  $tpl->set('d', 'TARGET', $data['target']);
                  $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
                  $tpl->next();
                  if ($idcat == $data['idcat']) {
                      $tpl->generate('templates/head_navsecond_on.html');
               }elseif(is_array($data['sub'])){
                    $tpl->generate('templates/head_navsecond_open.html');
                  } else {
                      $tpl->generate('templates/head_navsecond_off.html');
                  }

          /* 3. Navigation level */
                  if (is_array($data['sub'])) {
                      foreach ($data['sub'] as $key => $data) {
                     if (checkCatPermission($data['idcatlang'],$data['public'])) {
                             $tpl->reset();
                             $tpl->set('d', 'NAME',  $data['name']);
                             $tpl->set('d', 'TARGET', $data['target']);
                             $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
                             $tpl->next();

                             if ($idcat == $data['idcat']) {
                                 $tpl->generate('templates/navthird_on.html');
                        }elseif(is_array($data['sub'])){
                             $tpl->generate('templates/navthird_open.html');
                             } else {
                                 $tpl->generate('templates/navthird_off.html');
                             }

                             /* 4. Navigation level */
                           if (is_array($data['sub'])) {
                               foreach ($data['sub'] as $key => $data) {
                              if (checkCatPermission($data['idcatlang'],$data['public'])) {
                                      $tpl->reset();
                                      $tpl->set('d', 'NAME',  $data['name']);
                                      $tpl->set('d', 'TARGET', $data['target']);
                                      $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
                                      $tpl->next();
                                      if ($idcat == $data['idcat']) {
                                          $tpl->generate('templates/navfourth_on.html');
                                 }elseif(is_array($data['sub'])){
                                      $tpl->generate('templates/navfourth_open.html');
                                      } else {
                                          $tpl->generate('templates/navfourth_off.html');
                                      }

                                      /* 5. Navigation level */
                                    if (is_array($data['sub'])) {
                                        foreach ($data['sub'] as $key => $data) {
                                       if (checkCatPermission($data['idcatlang'],$data['public'])) {
                                               $tpl->reset();
                                               $tpl->set('d', 'NAME',  $data['name']);
                                               $tpl->set('d', 'TARGET', $data['target']);
                                               $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
                                               $tpl->next();
                                               if ($idcat == $data['idcat']) {
                                                   $tpl->generate('templates/navfifth_on.html');
                                               } else {
                                                   $tpl->generate('templates/navfifth_off.html');
                                               }
                                          } // end if
                                        } // end foreach
                                    } // end if
                                 } // end if
                               } // end foreach
                           } // end if
                        } // end if
                      } // end foreach
                  } // end if
               } // end if
           } // end foreach
          } // end if
    } // end if
} // end foreach

/* Read out buffer */
$html = ob_get_contents();

/* Clean buffer */
ob_end_clean();

/* Output buffer-contents */
echo $html;
echo $abschluss;
?>

xmurrix
Beiträge: 3151
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Mo 24. Apr 2006, 16:49

Hallo Tom,

in den Funktionen nav() und nav2() sind Fehlerhafte SQL-Statements, und zwar betrifft es jeweils die 2. Abfrage (ab Zeile 119 des Modulcodes). Dort fehlt zwischen C.name und C.public ein Komma ','.

Code: Alles auswählen

                $sql = "SELECT 
                            A.idcat, 
                            C.name, //<- hier fehlt ein Komma
                        C.public, 
                        C.idcatlang 
Warum hast du eigentlich den Modulcode für "HAUPTNAVIGATION 1 - EBENE 2 (UNTERNAVIGATION)" und für "HAUPTNAVIGATION 2 - EBENE 2 (UNTERNAVIGATION)"´, zum Öffnen der Unterkategorien, in eigene Module ausgelagert?

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Beitrag von Zerberus » Di 25. Apr 2006, 13:12

Hallo xmurrix,

ich werde die SQL-Statements mal anpassen, aber ich denke nicht dass daran der Fehler liegt. Denn die Hauptnavigation 1 mit samt Unternavigation funktioniert ja korrekt. Da gibt es keine Probleme.

Erst wenn ich meine sozusagen geklonten Module für die Hauptnavigation 2 mitsamt Unternavigation einbinde, dann kommt es wie beschrieben zur fehlerhalften Anzeige. Wobei ich jetzt keine direkten Fehlermeldungen erhalte - das Ergebnis ist einfach nicht das gewünschte...

Und die Module für die Haupt- und Unternavigation sind deshalb getrennt, weil es sich um die geteilte Navigation handelt, die es erlaubt die Haupt- und Unternavigation jeweils im Template in unterschiedlichen Containern zu platzieren.

Die Unternavi kann also optisch ganz wo anders liegen als die Hauptnavigation...

Also ich werde sobald ich kann die Komma-Geschichte im SQL-Syntax korrigieren und sehen, ob es vielleicht daran liegt. Ich denke aber wie gesagt eher nicht - Das Problem muss irgendwo anders liegen.

Gruss
Tom

xmurrix
Beiträge: 3151
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Kontaktdaten:

Beitrag von xmurrix » Di 25. Apr 2006, 15:43

Hallo Tom,

habe mir nochmal die Modulcodes angesehen, mir fällt nichts schwerwiegendes auf. Das Einzige ist, dass du die Navigationsliste doppelt erstellst.
Im Modulcode der Hauptnavigationen wird das Array $navitems generiert und dieses Array muss nicht nochmal in den Unternavigationen befüllt werden. Also kannst du in den Unternavigationen alles vor dem Code

Code: Alles auswählen

/* Start Output buffer */ 
ob_start(); 
löschen. Es langt vollkommen aus, wenn in den Unternavigationen die foreach ($navitems as $key => $data) durchlaufen wird.

Zum Problem mit der 2. Hauptnavigation:
Kann es sein, dass die Untermenüpunkte der 2. Hauptnavigation keine Startartikel haben?
Wenn in einer Kategorie kein Startartikel definiert ist, werden auch vorhandene Unterkategorien nicht in den Array $navitems eingelesen und somit auch nicht gezeigt.

Gruß
xmurrix

micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

Beitrag von micha667 » Mi 26. Apr 2006, 12:02

wenn ich es richtig verstanden habe, dann hatte ich das problem auch schon und zwar dann wenn sich die geteilten navis im layout sozusagen "überschneiden"

also wenn erst die container mit

navi 1 split 1
navi 2 split 1

dann

navi 1 split 2
navi 2 split 2

eingebunden werden.

habe es "quick & dirty" so gelöst, daß ich vor "navi 2 split 2" den ersten teil nochmal mit der css-anweisung "display:none" aufrufe, so daß auf jeden fall der erste teil dieser gesplitteten navigation direkt vor dem zweiten part aufgerufen wird.

klappt gut, man muß dann nur den templates nochmal den baum im zusätzlichen container zuweisen.

gruß
micha

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Beitrag von Zerberus » Mi 26. Apr 2006, 15:46

Hallo micha,

mir scheint dieser Lösungansatz könnte schon eher mein Problem betreffen und lösen.

Denn in der Tat ist die Reihenfolge meiner geteilten Navis etwas quer...

Bei mir sieht das so aus:

Hauptnavi 2 - Ebene 1

darunter dann

Hauptnavi 1 - Ebene 1

dann jeweils darunter und zwar untereinander auf der linken Seiten

zuerst

Hauptnavi 1 - Ebene 2

darunter

Hauptnavi 2 - Ebene 2

Also wirklich ein wenig durcheinander - Vielleicht sollt ich dann noch zusätzlich die Module tauschen, sprich Hauptnavi 2 mit Hauptnavi 1.

Auf jeden Fall werde ich das sobald Zeit verfügbar mal mit deinem Lösungsansatz versuchen und entsprechend Rückmeldung geben.

Gruss
Tom

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Beitrag von Zerberus » Do 27. Apr 2006, 18:37

hmh...ich hab nun deinen Vorschlag (micha667) soweit mal umgesetzt, leider nicht mit befriedigendem Ergebnis.

Anders gesagt, ist das wohl nicht das Problem. Denn wenn ich die
Hauptnavigation 2 - Ebene 1 und die entsprechende Unternavigation 2 ALLEINE einbinde, dann funzt sie auch. Umgekehrt auch mit der Hauptnavigation 1.

Sind aber beide Navigationen im Template, dann erscheinen komischerweise bei der Hauptnavigation 1, die jeweiligen Unterpunkte doppelt. Und zwar 2x die Unterpunkte des gewählten Punktes aus der Hauptnavigation 1, während bei der Hauptnavigation 2 überhaupt keine Unterpunkte angezeigt werden.

Ich denke dass sich doch die jeweiligen Module für die Unternavigationen da in die Quere kommen.

Vielleicht kann man mir jemand sagen, ob ich nicht nur die Funktionsnamen neu benennen muss, sondern evtl. noch andere Werte.

Oder ist es vielleicht möglich: mich667 mal die Codes deiner 2 gesplitteten Hauptnavis mitsamt der Unternavis zu posten, um zu sehen, was anders ist.

Gruss
Tom

micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

Beitrag von micha667 » Fr 28. Apr 2006, 08:05

mh, bei mir funktioniert es. hast du denn im template die "unsichtbare navi" (display:none) an entsprechender stelle zusätzlich eingebunden und den kategorien neu zugewiesen. hatte nämlch genau den selben fehler (doppelte einträge)

im layout eingebunden sind bei mir (in der reihenfolge)

1. menu (1.Teil, sichtbar, 2. Teil des Moduls nicht benötigt, da ja unten gedoppelt wird)

2. Menu (1.Teil, an funktionsnamen eine 2 angehängt)
2. Menu (2.Teil, an funktionsnamen eine 2 angehängt)

1.1 Menu (1. Teil gedoppelt, unsichtbar, an funktionsnamen eine 3 angehängt)
1.1 Menu (2. Teil gedoppelt, sichtbar, an funktionsnamen eine 3 angehängt)

schätze, daß du beim gedoppelten menu die funktionen nicht erneut umbenannt hast?!

gruß
micha

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Beitrag von Zerberus » Fr 28. Apr 2006, 08:28

OK, also ich hab deinen vorherigen Lösungansatz mal auf die Schnelle ausprobiert und hatte wie gesagt keinen Erfolg. Wobei ich dachte wg. dieser Doppelung der Untermenüs, dass sich es da evtl. um ein anderes Problem handelt.

Aber wenn das auch bei dir aufgetreten ist, dann sollte ich es wohl genau wie vorgeschlagen probieren.

Was ich jetzt nicht genau verstehe ist die Anzahl der benötigten Module.
Also ich hatte bisher 4 Module - die Hauptnavi 2x und die Unternavi 2x. In der Hauptnavi2 und der Unternavi2 habe ich die Funktionen natürlich umbenannt.

Bei deiner Erklärung müsste ich also, die Hauptnavi und die Unternavi noch ein drittes mal als Module anlegen (zumindest die Hauptnavi, denn für das Hauptmenü1 wird ja keine Unternavi benötigt) und die Funktionsnamen umbennen - versteh ich das richtig?

Das würde dann bedeuten, dass du den Umstand das das Untermenü gedoppelt wird nicht verhinderst, sondern für dich ausgenutzt hast.

Dann habe ich das vorher etwas falsch interpretiert...
Sehe ich das jetzt soweit richtig?

Gruss
Tom

micha667
Beiträge: 143
Registriert: Di 4. Mai 2004, 11:54
Kontaktdaten:

Beitrag von micha667 » Fr 28. Apr 2006, 08:48

prinzipiell habe ich nur die überschneidung der container im layout aufgelöst, da die beiden navigationen jetzt jeweils direkt hintereinander kommen und contenido somit kein problem mehr damit hat.
man kann strenggenommen sagen, daß es jetzt drei navigationen (bzw. 2-einhalb) sind, von denen eben zwei auf denselben baum zugreifen. und da nur der erste (und einzige) teil der ersten und der zweite teil der dritten navi sichtbar ist (bei identische inhalten = kategoriebäumen), wird diese doppelte navigation als *eine* wahrgenommen.


gruß
micha
Zuletzt geändert von micha667 am Mi 17. Mai 2006, 08:38, insgesamt 1-mal geändert.

Zerberus
Beiträge: 19
Registriert: Mo 9. Aug 2004, 16:21
Kontaktdaten:

Beitrag von Zerberus » Fr 28. Apr 2006, 16:30

Sooo...

Also mal kurz konzentriert und mit Bedacht das Layout und die Module angepasst und siehe da, es haut hin.

Klappt vorzüglich und kann als Lösung empfohlen werden.

Vielen Dank micha - hat mir wirklich sehr geholfen.

Gruss
Tom

Gesperrt