Hauptnavigation

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

Hauptnavigation

Beitrag von Christoph Scheck » Fr 28. Mai 2004, 17:57

Hauptnavigation
Zuletzt geändert von Christoph Scheck am So 9. Dez 2007, 14:03, insgesamt 1-mal geändert.

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Fr 28. Mai 2004, 18:15

Ich nehme an, du hast den INPUT und OUTPUT Code vom Hauptnavigationsmodul einfach in das Hauptnavigation2 Modul kopiert.

Änder im Modul "Hauptnavigation2" im INPUT und im OUTPUT Teil folgendes ab

CMS_VAR[x] in CMS_VAR[8000]
CMS_VALUE[X] in CMS_VALUE[8000]

Wobei X für den Werst steht der atm eingetragen ist, hab keien sauber Installation am start, in meiner RefInst steht aber im HauptNavi Modul CMS_VAR[0] und CMS_VALUE[0] drin.

Danach dürfte das dann eigetlich gehen.

Aber über die Suche hättestest du mindestens 1 anderne Thread gefunden der diese Problematik mit dem Hauptnavimodul behandelt und mehrere die dies allgemein tun.

so long

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

leichter gesagt als getan

Beitrag von Christoph Scheck » Fr 28. Mai 2004, 19:34

Hallo und Danke

für Deine freundliche Hilfe... und ich schwör :-) ich habe bereits im Forum gesucht aber keine funktionierende Lösung gefunden. Deine Änderungen im in und output habe ich gemacht aber leider ohne Erfolg. Ich bekomme weiterhin nur den Container mit dem neuen Navigationsmodul zusehen und bekomme diese Fehlermeldung:

[28-May-2004 20:32:40] PHP Fatal error: Cannot redeclare nav() (previously declared in C:\web\xampp\htdocs\content\cms\front_content.php(659) : eval()'d code:215) in C:\web\xampp\htdocs\content\cms\front_content.php(659) : eval()'d code on line 584

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Fr 28. Mai 2004, 19:57

argx .. flüchtigkeitsfehler meinerseits

due funktionen die im modul erstellt werden ( function nav ) werden zweimal deklariert.

und deswegen kommt das durcheinander ..

bei der Funktion catIsChildOf ist eine überprüfung eingebaut, die bei der funktion nav() fehlt.

such also sowohl im modul 1 wie auch 2 nach folgenden 2 stellen

1.

Code: Alles auswählen

function nav($idcat) {
und ersetze diese durch

Code: Alles auswählen

if (!function_exists("nav"))
{
function nav($idcat) {
als nächstes machst du folgendes

Code: Alles auswählen

Suche nach:

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

}  // end function


und ersetze durch

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

}  // end function
} // check if exist ** NEU


[quote]

In Kombination mit meinem vorrigen Post müsste es gehen .. hab es nicht getestet.

Falls du immernoch probs halt schreib pls dann die Fehlermeldung, dann schau mr weiter bis es passt ;)

so long

stefan[/quote]
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

sau cool

Beitrag von Christoph Scheck » Fr 28. Mai 2004, 20:18

Hi Stefan,

vielen Dank soweit mittlerwile sehe ich tatsächlich beide Container..allerdings die gleichen sprich meine gesamte menü struktur ohne untermenüs. Möchte ja Deinen Freitag abend nicht zusehr stören..aber vielleicht kannst Du nochmal...

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

ups info vergessen

Beitrag von Christoph Scheck » Fr 28. Mai 2004, 20:22

[28-May-2004 21:05:55] PHP Parse error: parse error, unexpected $end in C:\web\xampp\htdocs\content\contenido\includes\functions.mod.php(164) : eval()'d code on line 343

Grüße

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Fr 28. Mai 2004, 22:05

mhh ..

lösch mal dein HauptNavi Modul 2 .. und nehm fiolgenden code für das 2te Modul.

Den Source für das erste Modul nimmst du einfach den Orginalcode:

INPUT

Code: Alles auswählen

/**
 * Navigation
 *
 * INPUT
 *
 * @autor Jan Lengowski <Jan.Lengowski@4fb.de>
 * @copyright four for business AG 2003
 */

?>
<table cellspacing="0" cellpadding="0" cellpadding="4">

    <tr>
        <td class="text">Baum wählen:</td>
        <td>
            <select name="CMS_VAR[8000]">
            <option value="0">-- kein --</option>
            <?php

                $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
                            C.idlang    = '".$lang."' AND
                            B.idclient  = '".$client."' AND
                            C.visible   = 1 AND
                            A.level     = '0'
                        ORDER BY
                            A.idtree";

                $db->query($sql);

                while ( $db->next_record() ) {

                    if ( "CMS_VALUE[8000]" == $db->f("idcat") ) {
                        echo '<option selected="selected" value="'.$db->f("idcat").'">'.$db->f("name").'</option>';

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

                    }
                }

            ?>
            </select>
        </td>
    </tr>

</table>

<?php

OUTPUT

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

if ( !is_object($db_mod2) ) {
    $db_mod2 = 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("catIsChildOf"))
{
    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, "CMS_VALUE[8000]") ) {
    $sel_idcat = $idcat;
} else {
    $sel_idcat = "CMS_VALUE[8000]";
}

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

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


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

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

        global $navitems_mod2, $client, $lang, $cfg;

        $db  = new DB_Contenido;
        $db_mod2 = 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[8000]" ){

                $navitems_mod2 = 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[8000]'
                        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."'";

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

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

                            $navitems_mod2[$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."'";

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

                $target = ( $db_mod2->f("ext") == 0 ) ? '_self' : '_blank';
                
                $tmp_nav[$db->f("idcat")] = array("idcat"   => $db->f("idcat"),
                                                  "name"    => $db->f("name"),
                                                  "target"  => $target);
        }

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

        /* Function call */
        nav_mod2($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."'";

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

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

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

/* Create Navigation Array */
nav_mod2($sel_idcat);

/* Start Output buffer */
ob_start();

echo '<table cellspacing="0" cellpadding="0" border="0">';

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

    /* 1. Navigations Ebene */
    $tpl_mod2->reset();
    $tpl_mod2->set('d', 'NAME',  $data['name']);
    $tpl_mod2->set('d', 'TARGET', $data['target']);
    $tpl_mod2->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
    $tpl_mod2->next();

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

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

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

            /* 2. Navigations Ebene */
            $tpl_mod2->reset();
            $tpl_mod2->set('d', 'NAME',  $data['name']);
            $tpl_mod2->set('d', 'TARGET', $data['target']);
            $tpl_mod2->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
            $tpl_mod2->next();

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

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

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

                    /* 3. Navigations Ebene */
                    $tpl_mod2->reset();
                    $tpl_mod2->set('d', 'NAME',  $data['name']);
                    $tpl_mod2->set('d', 'TARGET', $data['target']);
                    $tpl_mod2->set('d', 'HREF',  $sess->url('front_content.php?idcat='.$data['idcat']));
                    $tpl_mod2->next();

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

                } // end foreach

            } // end if

        } // end foreach

    } // end if

} // end foreach

echo '</table>';

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

/* Clean buffer */
ob_end_clean();

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

?>
Das Prob ist halt das ich das grad nicht testen kann, hoffe aber das das dir nun endlich hilft.

so long Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

langsam nähern wir uns der Sache

Beitrag von Christoph Scheck » Fr 28. Mai 2004, 22:30

Hi
Danke noch mal für Deine freundliche und schnelle Hilfe... nun klappt auch fast alles lediglich mit der Vorkonfiguration im Template hakts noch. Da werden bei der zweiten Navigation wieder alle Ordner angezeigt - nicht nur der Ausgewählte samt Unterordner. Grrr... mich ärgerts maslos wenn ich keinen Plan hab. Wenn ich im Artikel unter konfiguration die Ordner auswähle dann klapp's komischerweise oder Gott sei dank ??

Grüße Christoph

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Fr 28. Mai 2004, 23:05

mhh .. schau ich mir morgen mal an ... ich selber hab nie mit dem hauptnavi teil gearbeitet, da ich von vornerein eigene module geschrieben habe ..

ich geh dann jetzt aber ins bett.

bis morgen ... und dann bekommen wir das voll hin *sicherist*

so long

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

dass hast Du du dir auch verdient..

Beitrag von Christoph Scheck » Sa 29. Mai 2004, 09:47

und kann ich Deinem Namen entnehmen dass du ein Fallschirmspringer bist ...? Danke für Deine Hilfe nochmal

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Sa 29. Mai 2004, 11:35

Nein ...

hab ne SGA als Pionier .. und bin im Stab der 7. Panzerdivision in der Abteilung G6 Dezernat 4 ( Informations Verarbeitung [InfoV] ) tätig. Also im Dezernat für Netzwerk, Nutzerbetreuung, Entwicklung ... halt alles was mit IT zu tun hat.

Ich setz mir mal nen Testsystem auf und bastel dir das für dein Prob zusammen und teste es dann ... poste die Lösung dann gegen später ... muß nur erstmal Zimmer aufräumen ( Frau hat Ultimatum gestellt :/ )

so long

Stefan
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

hin und wieder muss mann..

Beitrag von Christoph Scheck » Sa 29. Mai 2004, 12:01

auch mal tun was Frau sagt :) also bis bald und nochmal danke

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

noch eine kleine Info

Beitrag von Christoph Scheck » Sa 29. Mai 2004, 12:29

nach deinen hilfreichen infos kann ich leider keine Unterordner mehr auswählen weder unter Artikell Konfiguration noch im Template unter Vorkonfiguration. Danke soweit und Grüße aus Garmisch

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Sa 29. Mai 2004, 12:34

mhh .. ich weiß jetzt was du mit dem 2ten teil überhaupt machen wolltest ( *brettvorkopfgehabthat* )

bin aber dran ...


mhh .. wenn du nichts auser am Hauptnavigations nr2 modul geändert hast dürfte nichts anderes kaputt gehen *grübel*
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Christoph Scheck
Beiträge: 56
Registriert: Mi 14. Apr 2004, 16:24
Kontaktdaten:

vielleicht habe ich mich falsch ausgedrückt

Beitrag von Christoph Scheck » Sa 29. Mai 2004, 12:45

Hi,

ich will mit dem zweiten Navigationsmodul nicht nür "Bäume" sondern auch "Kategorien" auswählen können ähnlich wie im Hilfsnavi.

geht dass ?

Gesperrt