Seite 1 von 1

Navi auf Startseite öffnet Unterseiten immer im neuen Fenste

Verfasst: Fr 20. Aug 2004, 12:46
von bachi
Hallo,
ich hab mir jetzt mein Navi gestaltet und alles paßt. Allerdings hab ich das Problem, immer, egal auf welchen Link ich klicke geht dieser im neuen Fenster auf.Navigiere ich dann auf den Seiten im neuen Fenster ist alles i.O.?

Das Navimodul zeigt einen Fehler im Input an: Fehler in Modul. Fehlerquelle: eval()’d code on line 1 <br />

Code: Alles auswählen

<table cellspacing="0" cellpadding="0" cellpadding="4"></br>

    <tr>
        <td class="text">Baum wählen:</td>
        <td>
            <select name="CMS_VAR[0]">
            <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[0]" == $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>
Kann mir jemand auf die Sprünge helfen? Oder hat jemand für die Version 4.4.4 ein FUKTIONIERENDES Navi, was 3 Ebenen anzeigt und ich Grafiken hinterlegen kann für ON/OFF?
Das wäre super, ich beiß nämlich gleich in eine Tischplatte :x

Beste grüße Bachi

Re: Navi auf Startseite öffnet Unterseiten immer im neuen Fe

Verfasst: Fr 20. Aug 2004, 13:04
von emergence
bachi hat geschrieben:Das Navimodul zeigt einen Fehler im Input an: Fehler in Modul. Fehlerquelle: eval()’d code on line 1 <br />
das hängt damit zusammen das der input bereich immer im php modus ist...
wenn du html in den input bereich von beginn an hinein schreibst muss zuerst ein
vorhanden sein...
am ende des input bereichs muss/sollte? der tag wieder geöffnet werden falls dort wieder html zu finden wäre... so wie in deinem fall

Code: Alles auswählen

<?php 

Verfasst: Fr 20. Aug 2004, 13:19
von bachi
OK, cool, die Fehlermeldung ist erstmal wech. Das ist schonmal schön. Jetzt ist aber das alte Problem noch, das meine Navi (dieses Modul, die anderen nicht) immer noch auf der Startseite die Unterseiten in einem neuen fenster aufmacht. Und auf den Unterseiten alles I.O ist. Kannst du mir dazu noch was sagen? ich füge den Output noch mit an:

Code: Alles auswählen

<?php

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];
}

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

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

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

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

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

        nav($parentid);

}



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

nav($sel_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>';

?>
Vielen Dank schon mal!!!

Verfasst: Fr 20. Aug 2004, 13:22
von emergence
ändere deine templates -> nimm target="{TARGET}" raus...
im modul hast du es ja schon entfernt...

Verfasst: Fr 20. Aug 2004, 13:38
von bachi
Hey emergence, Klaaaaaaaaasssse ich wär bald verzweifelt. Danke