Mehrsprachige Navigation in DB

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Mehrsprachige Navigation in DB

    Guten Tag,

    wie kann man eine 5-spachige Navigation am besten in einer mySQL DB festhalten ?

    Auf der Seite sind die Kategorien Aktuelles, Shop, Kontakt, AGB, Links immer zu sehen.
    Wenn man aber auf eines dieser Links klickt soll auf der ensprechenden Seite eine Auswahl von unterlinks kommen.

    Die Frage benutze ich eine ...

    TABELLE 1

    id
    cat_id
    parent_id
    lang
    name

    oder besser zwei Tabellen ?

    TABELLE 1

    id
    cat_id
    parent_id

    TABELLE 2

    id
    cat_id
    lang
    name


    Danke

  • #2
    2
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Hallo Mr,

      darf ich fragen warum du zwei wählen würdest ?
      Geschwindigkeitsaspekte oder Platzaspekte?

      Danke

      Kommentar


      • #4
        normalisierung
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          Danke für die Antwort!

          Eine Frage noch:

          Braucht man bei reinen Verknüpfungstabellen wie:

          id
          cat_id
          parent_id

          eigentlich die id Spalte ? Oder kann man die weglassen ?

          Gruß Compu

          Kommentar


          • #6
            weglassen
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Danke,

              nun habe ich noch ein anderes Problem da ich mit der Smarty Template arbeite. Also mein Skript holt sich die Kategorie IDs aus der Datenbank. Aber was habe ich davon ? Wo speichere ich das Link?
              Was mit über die URL übergebenen Werten ?

              Danke

              Kommentar


              • #8
                Durch die DB basierende Navigation ergibt sich nun ein total blödes Problem.

                Die Tabelle mit den Verknüpfungen beinhaltet ja die gesamte Seitenhierarchie.

                Jetzt arbeite ich aber mit der Smarty Template, an die ich das Array $menu zurückgebe.

                Das Menü wird dann so ausgegeben:

                <table width="120" cellpadding="0" cellspacing="0" border="0">
                {section name=i loop=$menu}
                <div>» <a href="{$menu[i].file}?cat_id={$menu[i].cat_id}">{$menu[i].name}</a></div>
                {/section}

                PHP-Code:
                function returnMenu()
                {
                        
                $this->db->raw_query("SELECT cat_id, parent_id, name, file
                                                                      FROM navigation_structure ns, navigation_translation nt
                                                                                                                            WHERE (ns.parent_id = '"
                .$this->parent_id."')
                                                                                                                                        AND (ns.trans_id = nt.trans_id)
                                                                                                                               AND (nt.lang = '"
                .$this->language."')
                                              ORDER BY parent_id"
                );

                    while(
                $row $this->db->fetch_array()) {
                            
                $categories[] = $row;
                        }

                        if (
                count($categories) == 0) {
                                        return 
                false;
                                    } else {
                                        return 
                $categories;
                                    }
                                } 

                Das Problem ist, dass das Menü auf ler linken Seite immer gleichbleiben soll. Das Menü auf den sich öffnen Seiten ist immer rechts auf der Seite. Wenn ich auf das rechte Menü klicke habe ich auf der nächsten Seite im Linken Menü das gleiche wie rechts.

                Bin schon den ganzen morgen am grübeln und ausprobieren. Nix klappt. Vieleicht ist es auch ganz einfach und ich habe ein Brett vor dem Kopf.

                Brauche ich 2 Funktionen und zwei Variablen $menu und $submenu ?

                Hilfe ...

                Danke

                Kommentar

                Lädt...
                X