Automatische Aktualisierung des Navi-Bereichs im Admin?

Gesperrt
rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Automatische Aktualisierung des Navi-Bereichs im Admin?

Beitrag 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?
xmurrix
Beiträge: 3215
Registriert: Do 21. Okt 2004, 11:08
Wohnort: Augsburg
Hat sich bedankt: 4 Mal
Danksagung erhalten: 17 Mal
Kontaktdaten:

Beitrag 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
Gesperrt