Frage Menüaufruf
Re: Frage Menüaufruf
Kann ich mal drauf gucken?
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
If it’s not broken, keep fixing it until it is
- creativecat
- Beiträge: 1435
- Registriert: Mi 6. Feb 2013, 12:41
- Kontaktdaten:
Re: Frage Menüaufruf
Soooooooooo
Ich bin schon wieder auf mein altes Problem gestoßen! Irgendwie bekomme ich in Menüs nie den aktuellen Menüpunkt. Zum Beispiel mit:
Das Problem liegt in der CAT_Helper_Page. Die wird in der index.php mit der Methode selectPage() ja bereits initiiert es werden also alle Seiten bereits aus der DB geladen. Sooooo - da gibt es also erst mal noch keine page_id und damit noch kein current_item. Erst danach wird aus den geladenen Seiten die page_id mit getPageByPath() geholt.
Damit wird standardmäßig immer die erste Seite (zumindest in meinen ganzen Installationen) gesetzt, weil nach dem Setzen der page_id nie wieder die geladenen Seite angepasst werden, sondern lediglich immer geschaut wird, ob welche bereits im CAT_Helper_Page-Objekt vorhanden sind... Ich habe lange nach dem Fehler gesucht und ihn gefunden
Ein einfaches self::reset(); am Ende der selectPage() hat das Problem behoben, weil ja dann bereits die page_id gesetzt ist und damit auch die current_item korrekt beim erneuten Holen der Seiten aus der DB gesetzt wird!
Noch nicht effizient, aber endlich funktioniert es wieder in meinen Installationen!
Wenn du das so bestätigen könntest, dass das in deinem Sinne ist, Bianka, würde ich das in die 1.4 schieben!
Ich bin schon wieder auf mein altes Problem gestoßen! Irgendwie bekomme ich in Menüs nie den aktuellen Menüpunkt. Zum Beispiel mit:
Code: Alles auswählen
{cat_fullmenu(1,startlevel:0,maxlevel:2,ul-id: mainN,current: current_page_item)}
Damit wird standardmäßig immer die erste Seite (zumindest in meinen ganzen Installationen) gesetzt, weil nach dem Setzen der page_id nie wieder die geladenen Seite angepasst werden, sondern lediglich immer geschaut wird, ob welche bereits im CAT_Helper_Page-Objekt vorhanden sind... Ich habe lange nach dem Fehler gesucht und ihn gefunden
Ein einfaches self::reset(); am Ende der selectPage() hat das Problem behoben, weil ja dann bereits die page_id gesetzt ist und damit auch die current_item korrekt beim erneuten Holen der Seiten aus der DB gesetzt wird!
Noch nicht effizient, aber endlich funktioniert es wieder in meinen Installationen!
Wenn du das so bestätigen könntest, dass das in deinem Sinne ist, Bianka, würde ich das in die 1.4 schieben!
Re: Frage Menüaufruf
Erst mal gut, dass Du es gefunden hast!
Das reset() aufzurufen ist sicher der einfachste Weg und bei wenigen Seiten sicherlich auch nicht weiter störend. Ob da ein neues setCurrentPage() (oder so...) effektiver wäre, hängt vermutlich davon ab, wie groß der Seitenbaum ist. Da ich nicht annehme, dass es BC-Installationen mit tausenden Seiten gibt, wäre die vorgeschlagene Änderung für mich okay.
Das reset() aufzurufen ist sicher der einfachste Weg und bei wenigen Seiten sicherlich auch nicht weiter störend. Ob da ein neues setCurrentPage() (oder so...) effektiver wäre, hängt vermutlich davon ab, wie groß der Seitenbaum ist. Da ich nicht annehme, dass es BC-Installationen mit tausenden Seiten gibt, wäre die vorgeschlagene Änderung für mich okay.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
If it’s not broken, keep fixing it until it is
- creativecat
- Beiträge: 1435
- Registriert: Mi 6. Feb 2013, 12:41
- Kontaktdaten:
Re: Frage Menüaufruf
Naja, vielleicht bastel ich da noch schnell eine solche Funktion - im Endeffekt kein großes Ding. Hab nur immer bisschen Respekt vor unerwarteten Sideeffects....
Re: Frage Menüaufruf
Ja, ich auch.
My software never has bugs, it just develops random features.
If it’s not broken, keep fixing it until it is
If it’s not broken, keep fixing it until it is