Seite 1 von 1

Hauptnavigation nur 1 Ebene anzeigen

Verfasst: Sa 3. Apr 2004, 13:15
von Katja
Nachdem ich mich nun durch einige Module gebissen habe, suche ich ganz arg Hilfe. Wie kann ich meiner Hauptnavigation senkrecht abgewöhnen, die 2.Ebene bzw. die dritte Ebene darzustellen? Siehe:
http://129.187.34.240/grundschule/cms/c ... p?idcat=95
Die Hilfsnavi zeigt ja die Unterpunkte Programme, Materialien ....
Daher soll es links nicht noch mal erscheinen. :roll:
Für das Umschreiben des Moduls reicht mein PhP-Wissen leider nicht.
Wäre toll, wenn jemand helfen könnte.
Grüße
Katja

Re: Hauptnavigation nur 1 Ebene anzeigen

Verfasst: Sa 3. Apr 2004, 13:24
von Halchteranerin
Hallo Katja,

ich wuerde eher die Hilfsnavi an der Stelle rausnehmen! Du hast doch die Hauptnavi mit den Untermenues, wozu brauchst Du da die Hilfsnavi? Die ist eher fuer so etwas gedacht, was Du auch drin hast (aber etwas seltsam plaziert ist), Startseite/Impressum/Kontakt
Irgendwas scheint ueberhaupt mit den ganzen Navigationen auf der Seite leider im Argen zu sein. :cry:

Gruss
Christa

Hilfsnavi

Verfasst: Sa 3. Apr 2004, 13:33
von Katja
Hallo Christa,
die Hilfsnavi wurde von den Arbeitskreismitgliedern (alles Lehrer :-() so gewünscht. Zuerst war sie ja links drinnen und in der Mitte keine. Jetzt müsste ich sie allerdings links wegkriegen.
Hilfe, Ideen, usw. für die Struktur nehme ich gerne an. Bin der absolute Neuling in solchen Dingen.
Viele Grüße
Katja

Re: Hilfsnavi

Verfasst: Sa 3. Apr 2004, 13:46
von Halchteranerin
Hallo Katja,

die Lehrer sind doof. :lol:

Ich habe eben mal auf die Schnelle, ohne wirklich Ahnung von PHP zu haben, die Hauptnavigation zerstuemmelt. So, wie ich das auf die Schnelle ausprobiert habe, scheint sie das zu tun, was Du haben willst, aber ob der Rest wie gewuenscht funktioniert, weiss ich nicht, da ich nicht weiss, wie Du die Hilfsnavi eingebaut hast. Aber ein Versuch ist es vielleicht wert. Mach aber nichts kaputt, sondern nimm fuer Testzwecke etwas dazu. Aendere also nicht das Modul Hauptnavigation bei Dir, sondern leg ein neues Modul an, z.B. Navigation-1Ebene. Hier das zerstuemmelte Modul (Eingabe-Teil wie bei der Hauptnavigation):
Output-Bereich:

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

?>
Ich habe nur die Teile rausgenommen, die sich auf die 2. und 3. Ebene bezogen!

Probier das vielleicht erstmal aus, wegen Struktur schreibe ich gleich noch etwas ...

Gruss
Christa

Verfasst: Sa 3. Apr 2004, 13:51
von Halchteranerin
So, da bin ich wieder.

Das Problem, wenn Du die Untermenues links rausnimmst, ist, dass man nur mit der Hilfsnavi nicht mehr weiss, wo man sich befindet (in der Hauptnavi ist ja der Untermenuepunkt grau hinterlegt). Stoert das nicht? Vorausgesetzt, das funktioniert ueberhaupt noch, nach dem Umbau. :) Aber falls es schief laeuft (deswegen sollst Du nicht die Hauptnavi aendern sondern ein weiteres Modul anlegen!), kannst Du das vorerst wieder auf die Hauptnavi zuruecklegen.

Ein anderer Vorschlag, den ich noch haette: oben ist noch genug Platz. Du kannst entweder Startseite/Impressum/Kontakt oben links neben 1. Jgst.-4. Jgst./Links plazieren, oder rechts davon (dass 1. Jgst.-4. Jgst./Links also links positioniert ist und Startseite/Impressum/Kontakt rechts davon). Denn je nachdem, wie lang Deine Seiten werden, ist das ein bisschen bloed, den Link zur Startseite irgendwo ganz unten versteckt zu halten.

Ist es richtig, dass noch nicht ueberall Inhalte hinterlegt sind, oder liegt es nur daran, dass noch irgendwas verknotet ist?

Gruss
Christa

Hauptnavi

Verfasst: Sa 3. Apr 2004, 16:13
von Katja
Hallo Christa,

huiiii, das war aber lieb. Es funktioniert. Habe es gerade probeweise hier eingebaut:
http://129.187.34.240/grundschule/cms/c ... ?idcat=204

Das mit dem grau Hinterlegen stimmt allerdings. Mal gucken, vielleicht kann man es ja bei der Hilfsnavi auch irgendwie so hinkriegen. Mir gefällt das Ganze auch nicht besonders. Wo ich doch aber als doofer Lehrer :oops: (bisher eher Lernprogramme, Mediator und Frontpage, nix Html oder gar PHP oder etwas CMS) schon so stolz war, dass ich wenigstens das Pfeilchen vor der mittleren Hilfsnavi weggekriegt habe.

Das mit den nicht gefüllten Seiten stimmt auch. Liegt daran, dass ich immer mühevoll in jeder Kategorie das Programme, Materialien, Links. Lehrplan anlegen muss. Habe erst seit Montag T-DSL. Vorher hätte ich fast einen Vogel beim Warten bekommen.

Wenn ich die zwei Navigationsleisten nebeneinander oben haben will, was ist denn besser: Zwei Container nebeneinander (wenn das geht) oder die zwei Leisten zusammenpopeln?

Jetzt habe ich noch eine ganz andere Frage:ich hatte in den letzten zwei Wochen eigentlich eine ganz andere Startseite als erste Seite unter der Hauptnavigation. Jetzt erscheint plötzlich seit heute eine Unterseite als front-content.php. Weißt du zufällig, wo sich da was verstellt haben könnte?
Vielen, vielen Dank noch mal für die Hilfe!
Katja

Re: Hauptnavi

Verfasst: Sa 3. Apr 2004, 17:06
von Halchteranerin
Hallo Katja,

um mal etwas klarzustellen: ich meinte nicht, dass Lehrer allgemein doof sind, sondern dass diejenigen doof sind, die mit der Standard-Contenido-Navigation nicht zufrieden sind. :lol:

Schoen, dass es funktioniert, allerdings solltest Du das im Auge behalten, nicht dass es da noch irgendwo ungewuenschte Seiteneffekte gibt!
Katja hat geschrieben:Das mit dem grau Hinterlegen stimmt allerdings. Mal gucken, vielleicht kann man es ja bei der Hilfsnavi auch irgendwie so hinkriegen.
So ohne Weiteres nicht, fuerchte ich. Es kursieren unterschiedliche Navigationsversionen im Forum, allerdings habe ich mich damit nicht beschaeftigt, weil mir die Standardnavigation gereicht hat. Vielleicht schaust Du aber nach, ob etwas dabei ist, was fuer Deine Seiten besser passt.

Noch etwas anderes: unter http://spielwiese.pulk.net/ gibt's auch noch einige nette Module. Klick mal links auf Module, dann Navigation und dann URhere. Dort wird so eine Art Pfad zur aktuellen Seite gebildet, den koenntest Du z.B. irgendwo im oberen Bereich ausgeben. Aber Du musst aufpassen, denn dann musst Du auch sein Hauptmenue benutzen ... und dann endet ins Uferlose ... :? Oder Du schaust Dir Dort die Navigation 3.0 an, vielleicht ist sie besser geeignet?

Katja hat geschrieben:Das mit den nicht gefüllten Seiten stimmt auch. Liegt daran, dass ich immer mühevoll in jeder Kategorie das Programme, Materialien, Links. Lehrplan anlegen muss. Habe erst seit Montag T-DSL. Vorher hätte ich fast einen Vogel beim Warten bekommen.
Kein Problem, ist auch nicht schlimm. Ich wollte es nur angesprochen haben, nicht, dass da noch der Wurm drin ist. :wink:
Katja hat geschrieben:Wenn ich die zwei Navigationsleisten nebeneinander oben haben will, was ist denn besser: Zwei Container nebeneinander (wenn das geht) oder die zwei Leisten zusammenpopeln?
Ich weiss nicht genau, wie das jetzt ist, benutzt Du zweimal das Modul Service-Navigation, oder wie hast Du die eingebunden? Jetzt hast Du bestimmt auch zwei Container, oder? Ich wuerde das so lassen, und dann mit etwas Leerraum dazwischen. Du kannst in der Tabelle oben, wo 1. Jgst. usw. steht, eine weitere Zelle fuer die andere Navi einbauen, und dann die linke Zelle mit der einen Navi linksbuendig und die rechte Zelle mit der anderen Navi rechtsbuendig anordnen (align=left bzw. align=right im <td>-Tag).
Katja hat geschrieben:Jetzt habe ich noch eine ganz andere Frage:ich hatte in den letzten zwei Wochen eigentlich eine ganz andere Startseite als erste Seite unter der Hauptnavigation. Jetzt erscheint plötzlich seit heute eine Unterseite als front-content.php. Weißt du zufällig, wo sich da was verstellt haben könnte?
Hmm, das verstehe ich jetzt nicht. :? Hast Du evtl. etwas bei den Kategorien verschoben, oder einen Startartikel geaendert o.ae.?

Wenn ich auf http://129.187.34.240/grundschule/cms/c ... ontent.php
gehe, dann sehe ich eine Seite mit ISB-Logo links und mit den zwei Hilfsnavis oben und unten, also 1. Jgst. usw. oben und Startseite usw. unten, und die Hintergrundfarbe der beiden Tabellen ist hellgruen. Was sollte denn da sonst zu sehen sein?

Gruss
Christa

Startseite

Verfasst: Sa 3. Apr 2004, 17:26
von Katja
Hallo Christa,
jetzt habe ich was zum Nachdenken. Und zusätzlich habe ich in einem Anfall von Größenwahn die Seiten von www.test.x28.de entdeckt. Wir haben nämlich jetzt Ferien !!! Damit keine Langeweile aufkommt.

Die bisherige Startseite sieht anders aus. Die gibt es noch völlig unverändert unter der Hauptkategorie als Startartikel mit der Nummer 59. Unter
http://129.187.34.240/grundschule/cms/c ... ?idcat=106

kommt nur ein Fehler. Die anderen Seiten werden ausgelesen. Vielleicht mache ich einfach noch mal eine neue Startseite. Mal sehen, ob es dann geht.
Kann man irgendwo einstellen, mit welcher Seite das front-content.php gezeigt wird?


Zusätzlich habe ich keine errorlog.txt mehr (steckt nicht unter cms/logs). Sie war wohl zu groß und hat mir nun die Anzeige der Systemvariablen zerschossen. Nur damit wirklich keine Langweile aufkommt.

Jetzt höre ich aber auf, bevor du zu meiner privaten Lehrer-Hotline wirst
javascript:emoticon(':?')



Viele Grüße und tausend Dank
Katja

Re: Startseite

Verfasst: Sa 3. Apr 2004, 17:45
von Halchteranerin
Hallo Katja,
Katja hat geschrieben:Und zusätzlich habe ich in einem Anfall von Größenwahn die Seiten von www.test.x28.de entdeckt. Wir haben nämlich jetzt Ferien !!! Damit keine Langeweile aufkommt.
haha, wenn Du sonst nichts zu tun hast ... :wink:
Katja hat geschrieben:Die bisherige Startseite sieht anders aus. Die gibt es noch völlig unverändert unter der Hauptkategorie als Startartikel mit der Nummer 59. Unter
http://129.187.34.240/grundschule/cms/c ... ?idcat=106
kommt nur ein Fehler.
Wenn ich http://129.187.34.240/grundschule/cms/c ... ?idcat=106 eingebe, kommt kein Fehler, sondern da bin ich im linken Menue ganz unten in der 'Probekategorie'. Wenn ich aber
http://129.187.34.240/grundschule/cms/c ... p?idcat=59 eingebe, dann werde ich nach http://129.187.34.240/grundschule/cms/c ... =1&error=1 umgeleitet, und DAS sieht nach Fehler aus.
Katja hat geschrieben:Kann man irgendwo einstellen, mit welcher Seite das front-content.php gezeigt wird?
Ich weiss nicht, ob das immer so funktioniert, aber ich nehme es an. Bei mir ist das naemlich so, dass sich die Startseite unter Hauptnavigation ganz oben als Startartikel befindet.
Katja hat geschrieben: Zusätzlich habe ich keine errorlog.txt mehr (steckt nicht unter cms/logs). Sie war wohl zu groß und hat mir nun die Anzeige der Systemvariablen zerschossen.
Achtung, die errorlog.txt ist nicht unter cms/logs sondern unter contenido/logs! Und da ist sie immer noch, ich habe sie gerade im Browser geladen. Bzw. der ist noch heftigst dabei, ich glaube, das geht jetzt noch ein paar Minuten, trotz DSL. :twisted: Aber Deine Systemvariablen lassen sich wieder reparieren. :) Kannst Du Dich per ftp oder ssh oder telnet auf dem Server anmelden? (zumindest ftp sollte gehen) Wenn ja, dann geh mal nach grundschule/cms/contenido/contenido/logs/ und dort ist Deine errorlog.txt. Die loeschst Du, und legst eine neue an, die leer ist. Aber Du musst sie danach auch im Auge behalten, dass sie nicht wieder so gross wird.
Katja hat geschrieben:Jetzt höre ich aber auf, bevor du zu meiner privaten Lehrer-Hotline wirst javascript:emoticon(':?')
Oh, kein Problem, ich lerne ja auch gern dazu, und das klappt ganz gut, indem ich die Fehler anderer suche. :wink: Wenn Du moechtest, kannst Du einen Benutzer einrichten und mir die Zugangsdaten schicken, damit ich mir mal die Struktur angucke, vielleicht sehe ich gleich, wo der Fehler mit der Startseite liegt.

Viele Gruesse
Christa

Verfasst: Sa 3. Apr 2004, 17:50
von Halchteranerin
mein Browser laedt immer noch die errorlog.txt. Ich schaetze, die ist auf mehrere MB angewachsen. :shock: :lol:

Halt, stop!!

Verfasst: Sa 3. Apr 2004, 17:53
von Katja
Peinlich ohne Ende. Habe die errorlog.txt gerade gefunden. Maile lieber nicht, wie groß sie ist. Wird sofort entleert. Tausend Dank!
Zweite Mail kommt gleich.
Katja