Dies ist eine großartige Funktion, aber was ist, wenn der Inhalt eines benutzerdefinierten Seitenleistenabschnitts programmatisch erstellt werden muss? Ich habe dies auf eine Weise erreicht, die @Olya_Fursova oben ähnelt, nur dass der Inhalt durch Abfragen der API generiert und dann Links gerendert werden, einige zu Kategorien und einige direkt zu bestimmten Themen. Zwei Probleme, auf die ich gestoßen bin, sind:
Wenn die Seitenleiste beim anfänglichen Rendern der Seite ausgeblendet ist, wird der dynamische Inhalt nicht angezeigt, da der Seitenleistencontainer nicht vorhanden ist. Wenn die Seitenleiste anfänglich angezeigt, dann aber eingeklappt und wieder angezeigt wird, ist der dynamische Inhalt weg, da der Seitenleistencontainer ohne Ausführung des benutzerdefinierten Codes neu gerendert wird. Frage: Gibt es eine Möglichkeit, in den Seitenleisten-Rendering-Prozess einzugreifen, um meinen benutzerdefinierten Code auszuführen, wann immer die Seitenleiste angezeigt wird?
Wenn die Links, die ich programmatisch zur Seitenleiste hinzufüge, angeklickt werden, wird die gesamte Seite aktualisiert. Frage: Gibt es eine Möglichkeit, eine vollständige Seitenaktualisierung zu verhindern, wenn auf einen meiner benutzerdefinierten Links in der Seitenleiste geklickt wird?
Es wäre wirklich fantastisch, wenn es eine Möglichkeit gäbe, die Seitenleiste programmatisch zu ändern!
Dies ist als experimentell gekennzeichnet, sollte aber sicher zu verwenden sein (wir verwenden es zum Beispiel, um Chat-Inhalte zur Seitenleiste hinzuzufügen, wenn diese aktiviert ist).
Das sieht interessant aus, danke! Es wird jedoch einige Zeit dauern, bis ich es wirklich verstehe, z. B. verstehe ich das Routing noch nicht ganz. Außerdem sieht es so aus, als ob die Links in einer Sektion nur eine flache Liste sein können, richtig? Was ich derzeit zu erreichen versuche, ist etwas wie dieses, d. h. eine Einrückungsebene:
Nein, wir haben standardmäßig keine Einrückung in die Seitenleiste integriert … aber solange Sie Ihre Abschnitte mit der API in der gewünschten Reihenfolge erhalten können, denke ich, dass die Einrückung wahrscheinlich mit CSS-Styling gehandhabt werden kann?
Nachdem ich mich etwas weiter damit beschäftigt habe, bin ich zuversichtlich, dass dies funktionieren wird, ja! Meine Herausforderung ist jetzt, dass die Linkliste dynamisch ist und sich mit jedem Seitenwechsel potenziell ändern kann. Mein naiver Ansatz, api.addSidebarSection innerhalb von api.onPageChange aufzurufen, funktioniert nicht, weil (a) die Seitenleiste nur aktualisiert wird, wenn sie durch Aus- und Wiedereinblenden neu gerendert wird, und (b) die Abschnitte wiederholt werden, da api.addSidebarSection nicht darauf achtet, ob der Schlüsselname wiederverwendet wird.
Gibt es eine Möglichkeit, mit der neuen API einen Seitenabschnitt zu erreichen, der bei jedem Seitenübergang mit den neuen Daten aktualisiert wird?