Hauptkategorien dynamisch im Footer wiederholen

Thema wurde von Barista, 4. Dezember 2015 erstellt.

  1. Barista

    Barista Neues Mitglied

    Registriert seit:
    1. September 2015
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    6
    Hallo allerseits,


    natürlich habe ich im Forum gesucht, bin aber nicht fündig geworden, so dass ich mich mit meinem Problem jetzt an Dich wende.

    Ich stehe vor der Aufgabe, die Hauptkategorien im Footer anzeigen zu sollen. Temporär füge ich die Links manuell über den Content-Manager ein, aber da sich die vertriebenen Artikel oft ändern und damit auch die Hauptkategorien, soll ich das automatisieren. Geht bestimmt, nur wie? (Ich scheue mich nicht davor, in der index.html oder in anderen Dateien per -USERMOD Änderungen einzubringen. Das mache in anderen Fällen ja auch (noch – habe den Thread von Avenger ansatzweise gelesen)).


    Ich weiß nichts über die Art, wie Gambio seine Variablen speichert, kenne mich in Smarty nicht aus, aber PHP, HTML und CSS gehen ganz gut. Ich habe im unteren Bereich [{debug}] aufgerufen, doch da finde/erkenne ich keine Variable, die die Kategorien auflistet.

    Würdest Du mir bitte mal die Richtung weisen?! Gibt es Literatur/Artikel/Links, die ich dazu lesen kann/muss?! Natürlich kann ich ein Smarty-Tutorial durcharbeiten (habe ich ansatzweise gemacht), aber da verstehe ich am Ende die Syntax, nicht aber die in Gambio angewandte Philosophie/Struktur, also was wo und wie programmiert wurde.

    Im schlimmsten Fall muss ich das per Datenbank-Abfrage oder Javascript machen, würde aber gerne auf vorgegebene Strukturen zurückgreifen.

    Vielen Dank für Deine Hilfe!


    Gruß
    Barista
     
  2. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Der für mich einfachste Weg ist ein kleines jQuery Javascript-Modul...

    (Da muss man sich nämlich nicht durch die Gambio-Klassenstruktur durchwühlen, sondern sich nur mit den vorhandenen HTML-Strukturen befassen :))

    Mit einem 10+ Zeiler kann man das dann sehr elegant (und updatesicher!) lösen...

    Folgenden Code als "templates\EyeCandy\usermod\javascript\Global\copy_top_menu.js" speichern.

    PHP:
    $(document).ready(function(){
      var 
    top_level_menu=$('#head_navi > ul');
      if (
    top_level_menu.length)
      {
        
    top_level_menu=top_level_menu.clone();
        var 
    top_level_menu_entries=top_level_menu.find('li');
        if (
    top_level_menu_entries.length)
        {
          
    top_level_menu_entries
            
    .removeClass('megadropdown_top_link')
            .
    addClass('megadropdown_top_link_clone')
            .
    attr('id','');
          $(
    '#top_menu_clone').append(top_level_menu);
        }
      }
    });
    Folgenden Code als "templates\EyeCandy\usermod\css\copy_top_menu.css" speichern.

    PHP:
    #top_menu_clone h3 {
      
    margin0;
    }

    #top_menu_clone a {
      
    padding-left10px;
    }
    (Bei Bedarf weitere CSS-Anweisungen einbauen...)

    In die "templates\EyeCandy\index.html"

    PHP:
     <div id="top_menu_clone" class="content-box white no-border categories"></div>
    an die Stelle einfügen, an der das Menü erscheinen soll...

    (Wenn das im Footer erscheinen soll, dann in das Footer-HTML einfügen.)

    In einem Beispiel-Shop sieht das dann so aus:

    menu_clone.jpg
     
  3. Barista

    Barista Neues Mitglied

    Registriert seit:
    1. September 2015
    Beiträge:
    4
    Danke erhalten:
    0
    Danke vergeben:
    6
    Hallo Avenger,

    vielen herzlichen Dank für die unglaublich gelungene Lösung - es ging also den von mir schon mal angedeuteten Javascript-Weg. Vielen Dank für Deine Mühe. Bist Du mal in Bremen? Hier gibt's immer 'ne Tasse guten Kaffee für Dich (Barista kommt ja nicht von ungefähr ;)).

    Sehr praktisch, dass ich mir damit den mühsamen Weg durch Smarty für Gambio sparen kann, werde aber auf das Thema bei Gelegenheit noch einmal zurückkommen – es interessiert mich wirklich. Zunächst aber setze ich meine Zeit anders ein.

    Nochmals: Vielen herzlichen Dank!

    Beste Grüße
    Barista
     
  4. Avenger

    Avenger G-WARD 2012/13/14/15

    Registriert seit:
    26. April 2011
    Beiträge:
    4.771
    Danke erhalten:
    1.478
    Danke vergeben:
    89
    Gerne...

    So kleine Fingerübungen am frühen Morgen helfen beim wach werden.. :)