Seite 1 von 1

Automatische Aktualisierung des Navi-Bereichs im Admin?

Verfasst: Di 19. Dez 2006, 11:27
von rethus
Beim arbeiten im Adminbereich fällt mir immer wieder auf, das der Navigationsbereich bei Änderungen nicht mit aktualisiert wird.

Also wenn man beispielsweise eine Kategorie hat, in der kein Artikel als Startartikel gekennzeichnet ist, erscheint diese ja in der Navi rot. Wenn ich jetzt einen Artikel als Startartikel markiere, bleibt er in der Navi rot. Erst, wenn ich das Frame, in dem sich die Navi befindet aktualisiere, verschwindet die rote markierung.

Was denkt Ihr, wie könnte man eine solche Aktualisierung automatisieren?

Hat vielleicht schon jemand eine Lösung dafür gebastelt?

Verfasst: Di 19. Dez 2006, 13:34
von xmurrix
Hallo,

die schnellste Lösung wäre z. B. ein Reload der Linken Navigation, wenn sich Innerhalb der Artikelliste (rechts) was ändert.

Code: Alles auswählen

if (typeof(parent.parent.frames['left'].frames['left_bottom']) != "undefined") {
  parent.parent.frames['left'].frames['left_bottom'].location.reload();
}
Eine bessere Lösung wäre aber eine JavaScript-Funktion im Navigationsframe aufzurufen, die dann den Status der Kategorie aktualisiert, indem einfach das Bild ausgetauscht wird. Dafür sollten die Bildelemente alle eine id haben, über die man darauf zugreifen kann.

Dann könnte man Beispielsweise folgendes machen.
Am Ende der Artikelliste Aufruf der Funktion:

Code: Alles auswählen

if (typeof(parent.parent.frames['left'].frames['left_bottom']) != "undefined") {
  // parameter 1: 45 = id der kategorie
  // parameter 2: neuer status für das ordnersymbol, 'folder_on' wäre dann z. b. 'folder_on.gif'
  parent.parent.frames['left'].frames['left_bottom'].location.changeFolderState(45, 'folder_on');
}
und die JS-Funktion im Navigationsframe:

Code: Alles auswählen

    function changeFolderState(idcat, state){
        // damit das geht, sollten alle ordnerbilder eine eindeutige id bekommen
        var id = 'imgcat-' + idcat;
        if (!document.getElementById(id)) {
            return;
        }
        image = document.getElementById(id).src = 'images/' + state + '.gif';
    }
Habe es nicht getestet, sollte aber funzen.

Gruß
xmurrix