Hauptnavigation vertikal ohne Templates - pure CSS >>

Gesperrt
Deltapapa
Beiträge: 62
Registriert: Fr 17. Jun 2005, 23:32
Wohnort: Mildtstedt
Kontaktdaten:

Hauptnavigation vertikal ohne Templates - pure CSS >>

Beitrag von Deltapapa »

Hallo und guten morgen,
habe mir von x28 die Hauptnavigation vertikal ohne Templates - pure CSS angeschaut. mal ne ganz blöde frage: wo kommt den die css datei hin? oder kommt der css code aus dem beispiel in meine format.css?

Habe leider noch ne Frage: viele benutzen als fotoalbum ein externes modul, ich glaube gallery 1.4.4 oder so! (zb www.silas-web.ch .wie binde ich das den ein??????? (ich glaube darth vader benutzt das auch auf seiner seite....)

Danke
Dirk 8)
Zuletzt geändert von Deltapapa am Mo 4. Jul 2005, 18:45, insgesamt 1-mal geändert.
C 4.4.5 r1
Das Internet wurde von www.bademeister.com erfunden
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Hauptnavigation vertikal ohne Templates - pure CSS >&

Beitrag von Halchteranerin »

Deltapapa hat geschrieben:oder kommt der css code aus dem beispiel in meine format.css?
genau. :)
Deltapapa
Beiträge: 62
Registriert: Fr 17. Jun 2005, 23:32
Wohnort: Mildtstedt
Kontaktdaten:

Noch ne frage zur navigation...

Beitrag von Deltapapa »

also, vielen dank, das mit der x28 navigation klappt ganz gut!
Nun habe ich noch ein problem:
Ich habe folgende Struktur:
Hauptnavigation > kein artikel drinnen
Startseite > der erste Seite
Login > eigentlich nur zum testen
Bilder > Artikel zum testen drinnen
siehe www.deltapapa.de

Ich glaube ich mache noch einen Fehler mit der ersten ebene, der hauptnavigation, oder? aber wenn ich das modul konfiguriere, muß ich immer auswählen haupt / nebennavigatin. was mache ich falsch?
Muß ich den punkt hauptnavigatin in meine startseite umbenennen?
habe in der dokumentaion auch nicht gefunden!

Danke
Dirk
C 4.4.5 r1
Das Internet wurde von www.bademeister.com erfunden
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Beitrag von Halchteranerin »

Wie ich schon im anderen Thread geschrieben habe, ist wohl deine Struktur falsch.
Die muesste sein
Hauptnavigation mit allen Unterpunkten, die dargestellt werden sollen, und z.B. Test mit den Unterpunkten, die du zum Testen benutzt, wie Login und Bilder. Die erste Seite muss uebrigens direkt in Hauptnavigation als Startartikel angelegt werden!
Deltapapa
Beiträge: 62
Registriert: Fr 17. Jun 2005, 23:32
Wohnort: Mildtstedt
Kontaktdaten:

Irgendiw klappt das nicht

Beitrag von Deltapapa »

@ Christa,
klappt irgendwie immer noch nicht! Ich glaube ich habe den Fehler nun aber gefunden: Es muß heißen:
Hauptnavigation
>Home
>Bilder
>Kontakt
>>Impressum
>>Gästebuch
>Links
>Sonstiges

und ich habe:
Home
Bilder
Kontakt
>Impressum
>Gästebuch
Links
Sonstiges
das müßte der Fehlere sein, oder?

Danke Euch für die Mühe


Dirk aus dem wilden Westen
C 4.4.5 r1
Das Internet wurde von www.bademeister.com erfunden
Halchteranerin
Beiträge: 5478
Registriert: Di 2. Mär 2004, 21:11
Wohnort: Halchter, wo sonst? ;-)
Kontaktdaten:

Re: Irgendiw klappt das nicht

Beitrag von Halchteranerin »

Deltapapa hat geschrieben:das müßte der Fehlere sein, oder?
Genau. Alles, was angezeigt werden soll, muss UNTERHALB der Hauptnavigation sein, weil der Name des obersten Baums gar nicht angezeigt wird. Du musst also alles um eine Ebene verschieben, und dann klappt's auch mit dem Nachbarn. :wink:
Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 »

Hallo,

kann mir bitte jemand helfen den Input von der Navi (x28) so abzuaendern das man dort Kategorien auswaehlen kann anstatt des ganzen Baumes ???

Das waehre echt der Hammer ! :wink:

Danke

Tim
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Code: Alles auswählen

  $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);
A.Level anpassen in A.level >= '0'

Viel Erfolg
Florian
Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 »

@ Florian

Du bist mein Hero!!!! :wink:

Es funktioniert !

Danke
Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 »

Ich brauche doch nochmal eure Hilfe fuer die Navigation !!! :(

Die Navi unterstuetzt 3 Ebenen ich brauche aber 4 !!!

Der entscheidene Punkt im Output Modul fuer die Ebenen befindet sich meiner Meinung nach hier

Code: Alles auswählen

  $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";
1. Block = B.parentid = 'CMS_VALUE[0]'
2. Block = B.parentid = '$parentid'
3. Block = B.parentid = '$sel_idcat'

Wie muss im 4. Block die Gleichung heissen ???? Falls das so ueberhaupt richtig ist !

Hier nochmal der komplette Output Code:

Code: Alles auswählen

<?php


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
 * ergänzung: ohne Templates, nur css
 *            Frank Hoffmann - www.x28.de
 */
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];
}

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

/**
 * 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 '<div id="navcontainer">';

echo  '<ul>';

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

    /* 1. Navigations Ebene */
    if ($data['idcat'] == $idcat) {
      echo '<li><a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="navactive1" target="'.$data['target'].'">'.$data['name'].'</a></li>';   
    }
    else {
      echo '<li><a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="nav1" target="'.$data['target'].'">'.$data['name'].'</a></li>';   
    }
    if (is_array($data['sub'])) {
        echo  '<ul id="subnavlist">';
        foreach ($data['sub'] as $key => $data) {
            /* 2. Navigations Ebene */            
            if ($data['idcat'] == $idcat) {
               echo '<li><a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="navactive2" target="'.$data['target'].'">'.$data['name'].'</a></li>';   
            }
            else {
            echo '<li><a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="nav2" target="'.$data['target'].'">'.$data['name'].'</a></li>';   
            }
          
            if (is_array($data['sub'])) {
                echo  '<ul id="subsubnavlist">';
                foreach ($data['sub'] as $key => $data) {
                    /* 3. Navigations Ebene */
                   if ($data['idcat'] == $idcat) {
                      echo '<li><a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="navactive3" target="'.$data['target'].'">'.$data['name'].'</a></li>';   
                   }
                   else {
                      echo '<li><a href="'.$sess->url('front_content.php?idcat='.$data['idcat']).'" id="nav3" target="'.$data['target'].'">'.$data['name'].'</a></li>';   
                   }

                } // end foreach
                echo '</ul>';
            } // end if
         } // end foreach
        echo '</ul>';
     } // end if    
} // end foreach

echo '</ul>';
echo '</div>';

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

/* Clean buffer */
ob_end_clean();

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

?>
[/b]
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Schau mal in diesem thread, da gibt es ein Modul. Entweder Ideen klauen :wink: oder dieses Modul anpassen.
http://contenido.org/forum/viewtopic.ph ... ier+ebenen
oder hier:
http://www.contenido.org/forum/viewtopic.php?t=8947

Viel Erfolg
Florian
Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 »

Danke fuer die Antwort :lol:

Habe das Script soweit auch angepasst !

Nun habe ich nur ein anderes Problem !

Wenn ich die komplette Struktur auswaehlen wird auch die 4 Ebene angezeigt aber wenn ich nur eine Kategorie auswaehle wird mir keine Unterkategorie angezeigt !!

Geht das schlicht und einfach nicht oder was koennte das sein !

Was mir aufgefallen ist - wenn ich die Kategorie auswaehle wird die Struktur nicht in ihrer "normalen Form" angezeigt sondern alle Kategorien untereinander als wuerden alle auf der gleichen Ebene sein !

Ich hatte die Aenderung von Florian vorgenommen

A.Level anpassen in A.level >= '0'


Thanx :wink:
Tim24
Beiträge: 28
Registriert: Fr 9. Jul 2004, 19:38
Kontaktdaten:

Beitrag von Tim24 »

OK, eine Loesung habe ich, nur ist das nicht die sauberste Solution !

Ich werde die 3 und 4 Kategorie in einen neuen Baum auslagern dann habe ich zwar spaeter 5, 6 7 Baeume aber dafuer meinen gewuenschten Effekt erhalten !

Vielleicht kennt einer von euch noch eine saubere Loesung ???

Thanx for all :lol:

Tim
Gesperrt