Navigation...

Gesperrt
Raphael
Beiträge: 39
Registriert: Do 24. Okt 2002, 17:01
Wohnort: Düsseldorf
Kontaktdaten:

Navigation...

Beitrag von Raphael » Do 9. Okt 2003, 08:52

Hallo zusammen,
ich habe da auch mal ne Frage zu der/n Naviation/en. Ich habe mir meine Hauptnavigation angepasst. Die Funktioniert auch ganz wunderbar im linken Bereich meiner Testseite. Die Servicenavi habe ich zur Topnavi gemacht und leistet auch ihre Dienste im oberen Bereich. Nun bräuchte ich im rechten Bereich eine weitere Navigation die Servicedienste leistet. Mein Layout sieht vor, dass sie wie die auf der linken Seite (also Hauptnavi) aussieht und funktioniert.

Woran liegt das, dass ich kein zweites Modul "Hauptnavi" mit meinem Servicebereich ausführen lassen kann? Ich habe für den Servicebereich einen neuen Baum angelegt, so wie es für Haupt- und Topnavi der Fall ist.

Gibt es ein anderes Navimodul, dass ich verwenden und genauso anpassen kann wie meine Hauptnavi?

Gruß - Raphael

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Do 9. Okt 2003, 10:08

Hallo,

das liegt wohl daran, daß die Funtionen im Navi-Modul zweimal deklariert werden würden.

Einfachste Lösung: Zweites Navi-Modul anlegen und in diesem andere Funktionsnamen verwenden.


Schöne Grüße

Robert

Raphael
Beiträge: 39
Registriert: Do 24. Okt 2002, 17:01
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Raphael » Do 9. Okt 2003, 10:48

funtioniert!

directonline
Beiträge: 5
Registriert: Mo 20. Okt 2003, 16:13
Wohnort: Dettelbach
Kontaktdaten:

Funktionsnamen???

Beitrag von directonline » Di 21. Okt 2003, 14:18

Ist "generate" der zu ändernde Funktionsname? Oder "navfirst"? Oder $tpl?

Geändert werden soll doch folgender Bereich:

Code: Alles auswählen

/* 1. Navigations Ebene */
    $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'] || 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. Navigations Ebene */
            $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'] || 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. Navigations Ebene */
                    $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();
Oder muss noch was anderes geändert werden?

Egal welchen Namen ich durchgehend ändere - es klappt nicht. :cry:
Kannst Du vielleicht noch ein bisschen genauer definieren, was man "beliebig ändern" soll?

Vielen Dank im Voraus!

Raphael
Beiträge: 39
Registriert: Do 24. Okt 2002, 17:01
Wohnort: Düsseldorf
Kontaktdaten:

Beitrag von Raphael » Di 21. Okt 2003, 14:36

Ich habe einfach alle Funktionen umbenannt. Welche das genau waren, kann ich nicht mehr sagen.

Gruß - Raphael

directonline
Beiträge: 5
Registriert: Mo 20. Okt 2003, 16:13
Wohnort: Dettelbach
Kontaktdaten:

function

Beitrag von directonline » Di 21. Okt 2003, 14:59

ich hab nur 2 "functions" gefunden:

function nav und function catIsChildOf.

Beide hab ich im gesamten Dokument umbenannt. Müssen auch die Variablen ($idparent o.ä.) umbenannt werden?
Oder was hab ich noch vergessen?

Wäre sehr dankbar für Hilfe...

chobbert
Beiträge: 371
Registriert: Mo 14. Jul 2003, 10:14
Wohnort: Frankfurt am Main
Kontaktdaten:

Beitrag von chobbert » Di 21. Okt 2003, 15:05

Das müssten alle Funktionen gewesen sein.

Nein, die Variablen müssen nicht umbenannt werden.


Schöne Grüße

Robert

directonline
Beiträge: 5
Registriert: Mo 20. Okt 2003, 16:13
Wohnort: Dettelbach
Kontaktdaten:

Kategorie

Beitrag von directonline » Di 21. Okt 2003, 15:31

Tut mir leid - ich hatte zwar in den Templates meinen gewünschten Baum für die Navigatino vorkonfiguriert, aber vergessen, die einzelnen Seiten per Hand auch noch auf den Wunschbaum einzustellen...

das funktioniert scheinbar nicht automatisch.

Hat also gefunzt.

Vielen Dank!!

Zeitgeist
Beiträge: 205
Registriert: Fr 5. Sep 2003, 09:47
Wohnort: Hamburg
Kontaktdaten:

grübel

Beitrag von Zeitgeist » Do 12. Feb 2004, 12:04

Hi,
ich habe selbes Anliegen...bin aber wohl zu deppert....

function nav und function catIsChildOf.
habe ich geändert in:
function nav2 und function catIsChildOf2.

Dennoch gehts nicht....

Wäre jemand so nett, mal In- Output des 2ten Menüs zu posten???
Wäre äußerst dankbar
greets
Zeitgeist

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

Re: grübel

Beitrag von #ayshe » Do 29. Apr 2004, 11:33

Zeitgeist hat geschrieben:
Wäre jemand so nett, mal In- Output des 2ten Menüs zu posten???
Wäre äußerst dankbar
greets
Zeitgeist
Output-Code, violá:

Code: Alles auswählen

<?php

/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname   :     Navigation 1.1
* Author      :     Jan Lengowski
* Copyright   :     Contenido - four for business
* Created     :     15-05-2003
* Modified    :     26-05-2003
* modified : 20-04-2004 by #ayshe
* the modification reduces the navigation to the first level
************************************************/

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
 */
if (!function_exists("catIsChildOf2"))
{
    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, "CMS_VALUE[0]") ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = "CMS_VALUE[0]";
}

/* 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;

        $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 != "CMS_VALUE[0]" ){

                $navitems = array();

                $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  = 'CMS_VALUE[0]'
                        ORDER
                            BY A.idtree";

                      $db->query($sql);

                      while ($db->next_record()) {

                            /* Check for external redirects... */
                            $sql = "SELECT
                                        a.external_redirect AS ext
                                    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
                                        b.is_start  = '1' AND
                                        c.idclient  = '".$client."' AND
                                        c.idcat     = b.idcat AND
                                        a.idart     = b.idart AND
                                        a.idlang    = '".$lang."'";

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

                            $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

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

           }

           return true;
        }

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

                /* Check for external redirects... */
                $sql = "SELECT
                            a.external_redirect AS ext
                        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
                            b.is_start  = '1' AND
                            c.idclient  = '".$client."' AND
                            c.idcat     = b.idcat AND
                            a.idart     = b.idart AND
                            a.idlang    = '".$lang."'";

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

                $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

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

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

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

}  // end function

$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  = '$sel_idcat'
        ORDER BY
            A.idtree";

$db->query($sql);

while ( $db->next_record() ) {

        /* Check for external redirects... */
        $sql = "SELECT
                    a.external_redirect AS ext
                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
                    b.is_start  = '1' AND
                    c.idclient  = '".$client."' AND
                    c.idcat     = b.idcat AND
                    a.idart     = b.idart AND
                    a.idlang    = '".$lang."'";

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

        $target = ( $db2->f("ext") == 0 ) ? '_self' : '_blank';

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

/* Create navigation Array */
nav2($sel_idcat);

/* Start Output buffer */
ob_start();

echo '<ul>';

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

    /* 1. navigations Ebene */
    $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'] || is_array($data['sub'])) {
        $tpl->generate('templates/navfirst_on.html');
    } else {
        $tpl->generate('templates/navfirst_off.html');
    }




} // end foreach

echo '</ul>';

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

/* Clean buffer */
ob_end_clean();

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

?>
Am Input brauchst nix zu ändern.

#ayshe

TimeSpirit
Beiträge: 48
Registriert: Mo 25. Aug 2003, 10:29
Kontaktdaten:

Dankefein

Beitrag von TimeSpirit » Do 29. Apr 2004, 11:56

Dankefein, aber die Anfrage war schon über 2 Monate alt...

Das Problem hat sich mittlerweile erledigt.
Mein Fehler war, dass ich nicht geblickt habe, dass es nicht ausreicht nur das Template zu ändern und das Menü dort einzubinden. Es muss nämlich in allen bestehenden Seiten/Artikeln das Template (Menü-Startpunkt) noch manuell eingestellt werden weil Contenido Änderungen/neue Einstellungen am Template nicht für bereits bestehende Artikel übernimmt...umständlich und ein Wust an Arbeit aber anders gehts derzeit wohl leider nicht...

Dennoch vielen Dank für das Posten
greets
TimeSpirit

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

Re: Dankefein

Beitrag von #ayshe » Do 29. Apr 2004, 17:08

TimeSpirit hat geschrieben:Dankefein, aber die Anfrage war schon über 2 Monate alt...
Gern geschehen; das Alter des postings spielt keine Rolle, ich habe den Code eher zur Vervollständigung für andere Suchende rein gepastet :iwnk:
TimeSpirit hat geschrieben: Mein Fehler war, dass ich nicht geblickt habe, dass es nicht ausreicht nur das Template zu ändern und das Menü dort einzubinden. Es muss nämlich in allen bestehenden Seiten/Artikeln das Template (Menü-Startpunkt) noch manuell eingestellt werden weil Contenido Änderungen/neue Einstellungen am Template nicht für bereits bestehende Artikel übernimmt...umständlich und ein Wust an Arbeit aber anders gehts derzeit wohl leider nicht...


Gut, damit ist das Thema jetzt wohl vollständig hier.

#ayshe

victor
Beiträge: 70
Registriert: Mo 27. Jan 2003, 08:54
Wohnort: Kassel
Kontaktdaten:

Gute Sache aber wo sind die ebenen Geblieben

Beitrag von victor » Do 25. Nov 2004, 13:10

Hallo alle zusammen es ist gut das #ayshe, den code mal gepostet hat, aber ich vermisse noch die ebenen navigation der ganzen Sachen welche variablen muss man da noch ändern. ??
"Niemand weiss mehr als alle zusammen"

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

Beitrag von #ayshe » Do 25. Nov 2004, 15:41

Na, da vervielfältigst du einfach den Code für die 1. Ebene. Das sieht bei mir so aus:

Code: Alles auswählen

 /* 2. Navigations Ebene */
 $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'] || 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. Navigations Ebene */
                    $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');
                    } else {
                        $tpl->generate('templates/navthird_off.html');
                    }

                } // end foreach

            } // end if

        } // end foreach

    } // end if
Gruß,
Ayshe

Gesperrt