Modul Naivgation 2 mal benutzen

Gesperrt
stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Modul Naivgation 2 mal benutzen

Beitrag von stony » Mo 16. Jun 2003, 16:26

Hallo,

ich würde gerne das Navigationsmodul 2 mal auf einer seite benutzten, mit unterschiedlichen inhalt.

kann mir einer sagen wie ich es so umschreibe das mir nicht jedesmal ein fatal errror entgegen springt?

gruss stony :?:

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mi 9. Jul 2003, 17:12

Hallo Stony,

ein Fatal Error (welcher denn?) sollte eigentlich nicht kommen. Du mußt leider das Navigationsmodul einmal kopieren (z.b. als Navigationsmodul 2), da derzeit die Einstellungen pro Seite und Modul und leider nicht pro Seite und Container gespeichert werden.

Grüße,
Timo

stony
Beiträge: 360
Registriert: Di 10. Jun 2003, 09:02
Wohnort: Berlin
Kontaktdaten:

Beitrag von stony » Do 10. Jul 2003, 02:28

das problem war das die funktionen 2 mal belegt waren. haben einfach allen drein eine 1 angehangen und schon klappts :D

trozdem thx

coco
Beiträge: 28
Registriert: Fr 30. Mai 2003, 15:19
Wohnort: Köln
Kontaktdaten:

Beitrag von coco » Do 17. Jul 2003, 11:41

Hallo Timo,

Ich habe versucht die Hauptnavigation 2 mal einzubinden wie du es beschrieben hast. Habe das Modul Hauptnavigation Kopiert in Navi 2 (Input und Output) leider funktioniert es nicht,
kannst du mir helfen.

Ich habe Suse 8.1, PHP 4.22, Apache 1.3.26, Die Fehlermeldung ist :

Code: Alles auswählen

Fatal error: Cannot redeclare catischildof() (previously declared in /home/www/web12/html/cmsys/contenido/includes/include.con_editcontent.php(558) : eval()'d code:221) in /home/www/web12/html/cmsys/contenido/includes/include.con_editcontent.php(558) : eval()'d code on line 561
Danke dir min voraus
Gruß
Zuletzt geändert von coco am Do 17. Jul 2003, 15:04, insgesamt 1-mal geändert.

siota
Beiträge: 12
Registriert: Do 17. Jul 2003, 13:22
Kontaktdaten:

Beitrag von siota » Do 17. Jul 2003, 13:24

Hallo,
Cannot redeclare catischildof()
bedeutet das die Funktion doppelt vorhanden bzw. bereits eine Funktion mit gleichem Namen vorhanden ist . Der Tipp von stony müsste also funktionieren.

Gruß

Henning
Beiträge: 13
Registriert: Mo 14. Jul 2003, 10:14
Kontaktdaten:

Beitrag von Henning » Do 17. Jul 2003, 16:58

Hallo,

welchen drei Funktionen in welcher Datei hängt man einfach eine 1 dran, damit ich die Navigation doppelt benutzen kann?

Version 4.3.1 beta

Zur Zeit habe ich das Modul kopiert und als $idcat 92 hinterlegt, da das der Anfang bzw. die Parent der zweiten Navigation sein soll.

hier der Output (Input habe ich keinen):

Code: Alles auswählen

<?php

// template klasse includen
include_once($cfg["path"]["contenido"] . 'classes/class.template.php');

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


// template instanz
$tpl = new Template;

$idcat=92;

function nav($idcat) {

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

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

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

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

        // If parentid equals 0 break,
        // first level reached.
        if($parentid==0){
           if($idcat!=1){
              $navitems=array();
              //search for the idcat where I´m the parent
              $sql = "SELECT A.idcat, 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 B.idclient='$client' AND C.idlang='$lang'
                      AND C.visible='1' AND B.parentid='92' ORDER BY A.idtree";

                      $db->query($sql);

                      while ($db->next_record()) {

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

           }
           return true;
        }

        // select idcats on the same level
        // they have the same parent id
        $sql = "SELECT A.idcat, 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 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()) {

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

        // Add the old navigation array to the new one,
        // because it is an item of the new one on place $idcat
        $tmp_nav[$idcat]["sub"] = $navitems;
        $navitems = $tmp_nav;

        nav($parentid);

}


if(!isset($idcat)){
     //set the start idcat
     $idcat = 92;
}

//search for the idcat where I´m the parent
$sql = "SELECT A.idcat, 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 B.idclient='$client' AND C.idlang='$lang'
        AND C.visible='1' AND B.parentid='$idcat' ORDER BY A.idtree";

$db->query($sql);

while ($db->next_record()) {

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

nav($idcat);

/**
 * array $navitems enthält alle daten
 * die für das aufbauen der navigation
 * notwendig sind.
 */
echo '<table cellspacing="0" cellpadding="0" border="0">';

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

    // 1. navi ebene
    $tpl->reset();
    $tpl->set('d', 'NAME',  $data['name']);
    $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'].'&client='.$client.'&lang='.$lang));
    $tpl->next();

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

    if (is_array($data['sub'])) {

        foreach ($data['sub'] as $key => $data) {

            // 2. navi ebene
            // 1. navi ebene
            $tpl->reset();
            $tpl->set('d', 'NAME',  $data['name']);
            $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'].'&client='.$client.'&lang='.$lang));
            $tpl->next();

            if ($idcat == $data['idcat'] || is_array($data['sub'])) {
                $tpl->generate('templates/navsecond_on.html');
            } else {
                $tpl->generate('templates/navsecond_off.html');
            }

            if (is_array($data['sub'])) {

                foreach ($data['sub'] as $key => $data) {

                    // 3. navi ebene
                    // 1. navi ebene
                    $tpl->reset();
                    $tpl->set('d', 'NAME',  $data['name']);
                    $tpl->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat'].'&client='.$client.'&lang='.$lang));
                    $tpl->next();

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

                } // end foreach

            } // end if

        } // end foreach

    } // end if

} // end foreach

echo '</table>';

?>
Danke für Eure Hilfe!

Henning :D

coco
Beiträge: 28
Registriert: Fr 30. Mai 2003, 15:19
Wohnort: Köln
Kontaktdaten:

Beitrag von coco » Do 17. Jul 2003, 17:43

Danke für die Antworte,

Das funktioniert aber nur unter 4.3 Standart Navi-Modul, ich habe schon 4.31 installiert da habe ich IN- und OUTPUT bereiche und das ganze wir anders abgefragt.

Oder habe ich wider mal etwas Übersehen. ??

Hat jemand die Lösung für 4.31 Standart Hauptnavigations- Modul

Gruß

Bobby Shaftoe
Beiträge: 32
Registriert: Di 22. Jul 2003, 14:38
Kontaktdaten:

Beitrag von Bobby Shaftoe » Mi 23. Jul 2003, 00:05

in 4.31 funktioniert es genauso - es muss lediglich der output angepasst werden.

coco
Beiträge: 28
Registriert: Fr 30. Mai 2003, 15:19
Wohnort: Köln
Kontaktdaten:

Beitrag von coco » Mi 23. Jul 2003, 11:34

Hallo Bobby Shaftoe,

Und wie würde das aussehen, das habe ich schon versucht aber ohne erfolg.

PS: gemeint ist der Standart Hauptnavigations- Modul.

Gruß
coco

Gesperrt