Navigation oben und links

Gesperrt
mono_id
Beiträge: 3
Registriert: Mo 11. Nov 2002, 14:18
Kontaktdaten:

Navigation oben und links

Beitrag von mono_id » Do 17. Jul 2003, 20:03

Hallo liebe Contenidoler,

erstmal grosses Lob für Version 4.3.x, habt euch echt was einfallen lassen.
Habe ein Problem, möchte die 1. Navigationsebene des Hauptmenüs oben anzeigen lassen, und bei Aktivierung eines Punktes die 2. und 3. Ebene auf der rechten Seite. Hab schon viel gesucht und ausprobiert, leider hab ich noch keine Lösung gefunden. Vielleicht wisst ihr was. Würde mich über eine Antwort freuen.

MFG

Christian :wink:

Evert
Beiträge: 59
Registriert: Sa 28. Jun 2003, 17:32
Wohnort: Switzerland
Kontaktdaten:

Beitrag von Evert » Fr 18. Jul 2003, 22:33

im prinzip muesstest nur das navi module ein wenig auseinenader nehmen und das ganze dann in zwei modulen aufteilen.

gruss

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

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

genau dasselbe problem habe ich auch. ich bin leider kein php-crack, weshalb mir das auseinanderfummeln schwer fällt.
ich habe das modul dupliziert und die funktionen im output-bereich des zweiten moduls umbenannt, um keinen fatal error beim parsen zu bekommen. das klappt auch. das navimodul links zeigt auch die unterkategorien richtig an, nur leider zeigt das navimodul oben alle kategorien an - inklusive der unterkategorien. man müsste also die unterkategorien rausfiltern und nur die anzeige der kategorien auf der gleichen ebene erlauben. nur - wie geht das? :shock: :roll:

gulli0815
Beiträge: 10
Registriert: Mi 25. Jun 2003, 19:04
Kontaktdaten:

Beitrag von gulli0815 » Do 24. Jul 2003, 15:03

Tag Bobby,
ich hab den Code mal auseinandergenommen, weil ich das gleiche vorhatte, wie du. klappt auch....
hauptnavi (ebene 1):

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;

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='1' 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 = 1;
}

//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 class="mittelgrau" cellspacing="0" cellpadding="0" border="0"><tr>';

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

    } // end foreach

echo '</tr></table>';

?>
Ebene 2 und 3:

Code: Alles auswählen

<?php

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


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

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

    // ------------ 1. navi ebene mit Ausgabe der aktiven Kategorie----------
    $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/navsubfirst_on.html');
    }     
    if (is_array($data['sub'])) {

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

            //---------------- 2. 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 --------------------

                    $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>';

?>

Im Prinzip wird beim Container für die 2. und 3. Ebene der gesamte menübaum abgearbeitet, für die Elemente der ersten Ebene erfolgt aber nur eine Ausgabe des aktiven Punktes, als eine Art Überschrift. Du kannst aber diese Ausgabe einfach rausnehmen...
Das Modul für die erste Ebene geht gar nicht in die Unterkategorien rein, (wie du bestimmt auch im direkten Vergleich am Code sehen kannst).

thats it.


Schön Gruß
Gulli

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

Beitrag von Bobby Shaftoe » Do 24. Jul 2003, 22:08

@gulli0815,

danke für deine antwort! werds gleich mal antesten...

bartekk
Beiträge: 103
Registriert: Mo 14. Jul 2003, 15:43
Kontaktdaten:

2 Modul

Beitrag von bartekk » Do 31. Jul 2003, 14:11

Hallo,

ich habe den obigen Code jeweil in 2 Module als Output inhalte gesteckt. Die input inhalte habe ich von der Hauptnavigation übernommen. Es wird trotzdem nichts angezeigt, egal ob ich nur ein modul anzeigen lasse oder 2.

wer kann mir da helfen

gruß

Thomas

gulli0815
Beiträge: 10
Registriert: Mi 25. Jun 2003, 19:04
Kontaktdaten:

Beitrag von gulli0815 » Do 31. Jul 2003, 15:15

tach bartekk,
das modul hauptnavigation hat keinen input-bereich!
in der hauptnavigation werden immer die kategorien des baumes angezeigt.

Du brauchst insgesamt 2 module:
1. Modul: Ebene 1
2. Modul: Ebenen 2+3
in keinem modul einen input-bereich definieren

modul 2 zeigt nur dann was an, wenn du im modul 1 eine kategorie ausgewählt hast, weil hier nur die unterkategorien angezeigt werden.

gruß
gulli

bartekk
Beiträge: 103
Registriert: Mo 14. Jul 2003, 15:43
Kontaktdaten:

Hauptavigation ebene1 und 2+3

Beitrag von bartekk » Do 31. Jul 2003, 15:36

Also bei der vordefinierten hauptnavigation in der v4.3.2.1 ist ein input bereich drin. Dort kann man auswählen welchen Hauptbaum man auswählen möchte. Da ich 4 Hauptbäume habe möchte ich das schon auswählen, es sei denn das wird dann automatisch gemacht.

Nachdem ich jetzt überall den input bereich gelöscht habe und jeweils Modul1 (ebene 1) und Modul2 (ebenen 2+3) einem anderen Container zugewiesen habe, dauert es ca 1-2 minuten bis die Seite angezeigt wird, die navigation wird jedoch nicht angezigt.

Also es scheint, daß er versuch irgendetwas aus der DB auszulesen macht er aber nix.

Ich habe die Module versucht anders zu schreiben und zwar:

Navi Ebene 1:

(Habe das Standard Navigationsmodul übernommen und die Ausgabe für 2 und 3 Ebene weggelöscht)

OUTPUT:

<?php

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


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[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 nav($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_nav[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}

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

/* Function call */
nav($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 */
nav($sel_idcat);

/* Start Output buffer */
ob_start();

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

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 '</table>';

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

/* Clean buffer */
ob_end_clean();

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

?>

Navi Ebenen 2+3:

(Habe das Standard Navigationsmodul übernommen und die Ausgabe für 1 Ebene weggelöscht)

OUTPUT:

<?php

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

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[1]) ) {
$sel_idcat = $idcat;
} else {
$sel_idcat = CMS_VALUE[1];
}

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

$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[1] ){

$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[1]'
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_nav[$db->f("idcat")] = array("idcat" => $db->f("idcat"),
"name" => $db->f("name"),
"target" => $target);
}

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

/* Function call */
nav($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 */
nav($sel_idcat);

/* Start Output buffer */
ob_start();

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

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 (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');
}

} // 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 funktioniert auch alles wunderbar, wenn ich die Module nicht gleichzeitig in einen Tamplate lade. Dann wird erneut gar nix ausgegeben.
Wahrscheinlich fragt er etwas doppelt aus oder wird bei der Abfrage etwas durcheinander gebracht.

Gruß

Thomas

AlexG
Beiträge: 37
Registriert: Do 26. Jun 2003, 13:27
Wohnort: Baiersdorf
Kontaktdaten:

Beitrag von AlexG » Do 14. Aug 2003, 13:44

hallo gulli,

habe deinen code mit den ebenen mal auf einem versuchssystem angewendet, funktioniert wirklich klasse. Ein kleines problem habe ich allerdings dabei: die erste ebene öffnet erstmal ein neues fenster, navigiert man in dem neuen fenster ist alles astrein. gibts da nen tip wie man dies unterdrücken kann, also sich alles in einem browserfenster abspielt?

system und user:

wampp, neueste beta contenido.
php- und contenidofrischling.

gruss alex

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

Beitrag von Bobby Shaftoe » Do 14. Aug 2003, 20:58

hallo gulli,

ich hab leider probleme mit deiner navigation - bei mir wird überhaupt nichts angezeigt :( weder in der 1, noch in der 2. oder 3. ebene.

hast du einen gemeinsamen baum benutzt oder benutzt du mehrere bäume gleichzeitig, um die oberste ebene voneinander zu trennen?

AlexG
Beiträge: 37
Registriert: Do 26. Jun 2003, 13:27
Wohnort: Baiersdorf
Kontaktdaten:

Beitrag von AlexG » Mo 18. Aug 2003, 21:09

hallo bobby,

da ich anscheinend mit gullis lösung etwas weiter bin hier meine lösung, die bei mir funktioniert.

Im Baum Hauptnavigation 1. und 2. Ebenen definiert--anstatt Hauptnavigation das Modul der ersten Ebene in das Template einbinden, Hauptnavigation weglassen--das Modul der zweiten Ebene an beliebiger Stelle ebenfalls in das Template einfügen. (Sollte funktionieren)

Ich hoffe ich habe es einigermassen beschrieben. Bleibt leider mein Problem, das sich beim erstenmal ein neues Fenster mit der zweiten Ebene öffnet.

Gruss Alex

UweK
Beiträge: 8
Registriert: Di 19. Aug 2003, 20:50
Wohnort: Görlitz
Kontaktdaten:

Beitrag von UweK » Di 19. Aug 2003, 20:58

Hallo AlexG,
welche Version verwendest Du ? Mit 4.3.2.1b reagiert obiger Code genau wie Du es beschreibst. Du müßtest in diesem Falle für Ebene 2+3 den QT gegen den der aktuellen Hauptnavi austauschen, da steht was von target dabei. Das funzt !

So long, Uwe

AlexG
Beiträge: 37
Registriert: Do 26. Jun 2003, 13:27
Wohnort: Baiersdorf
Kontaktdaten:

Beitrag von AlexG » Mi 20. Aug 2003, 13:49

hallo uwe,

ich habe deine lösung am anfang nicht ganz verstanden, bin jetzt aber erfolgreich. Ich stocher hier einfach nur im code rum, weil ich von php null ahnung habe. Ich habe in den 2 Modulen den Code einfach um die Zeilen Target ergänzt, so funktioniert gullis lösung bei mir unter unter 4.3.2.1b.

danke, alex

Im Modul 1 Ebene Ergänzung TARGET


// ------------ 1. navi ebene mit Ausgabe der aktiven Kategorie----------
$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'].'&client='.$client.'&lang='.$lang));
$tpl->next();
if ($idcat == $data['idcat'] || is_array($data['sub'])) {
$tpl->generate('templates/navsubfirst_on.html');




Im Modul 2 und 3 Ebene Ergänzung TARGET


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


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

Gesperrt