Startseite
» Gewusst wie
»
Collabora CODE-Symbolleisten anpassen, ohne den Quellcode zu bearbeiten
Collabora CODE-Symbolleisten anpassen, ohne den Quellcode zu bearbeiten
Um den Editor von Collabora Online Development Edition (CODE) zu vereinfachen, wählen Sie für das Gesamtlayout „Kompakt“ oder „ Registerkarten“ . Anschließend können Sie mithilfe der PostMessage-Integration des WOPI-Hosts einzelne Befehle, Schaltflächen oder Notebookbar-Registerkarten ausblenden. Das Ausblenden einer Symbolleiste ist eine praktische Änderung der Darstellung; das Ausblenden eines Steuerelements über den Host ist jedoch sinnvoller, wenn Sie für jede Bearbeitungssitzung eine einheitliche Benutzeroberfläche wünschen.
Welche CODE-Schnittstelle sollten Sie anpassen?
CODE bietet ein kompaktes Layout mit traditionellen Menüs und Symbolleisten sowie ein Layout mit Registerkarten und Notebookbar. Ermitteln Sie zunächst, welches Layout Ihre Benutzer sehen: Die IDs von Symbolleistenschaltflächen und Notebookbar-Registerkarten sind nicht austauschbar. Laut Collaboras Support-Dokumentation wurden die älteren Bezeichnungen ab der Version 21.11 zugunsten von „Code“ und „Notebookbar“ als veraltet markiert classic. Weitere Informationen finden Sie in der Collabora-Benutzeroberflächenkonfiguration .notebookbarcompacttabbed
Das Layout „Registerkarten“ gruppiert die Bearbeitungswerkzeuge unter benannten Registerkarten; die Registerkarte „Hilfe“ ist ein mögliches Ziel für Hide_NotebookTab.Das kompakte Layout verwendet eine separate Menüzeile und eine kleinere Tastenleiste, daher benötigen Menü- und Tastensteuerung unterschiedliche Kennungen.
Sollten Sie eine Servervorgabe oder eine Benutzersitzung ändern?
Ändern Sie die Serverstandardeinstellung nur dann, wenn die meisten Benutzer mit demselben Layout beginnen sollen. Bei selbstverwalteten Installationen akzeptiert die user_interface.modeEinstellung die Werte , , oder . Sichern Sie die Konfiguration und ändern Sie dann den vorhandenen Wert, anstatt ein weiteres XML-Element hinzuzufügen.coolwsd.xmldefaultcompacttabbedmode
Dieses verkürzte XML-Beispiel veranschaulicht die Einstellung und ersetzt nicht den gesamten Konfigurationsabschnitt. Wenden Sie die Änderung über den normalen Konfigurations- und Neustartprozess Ihrer Bereitstellung an und öffnen Sie anschließend ein neues Dokument. Container-Bereitstellungen können stattdessen --o:user_interface.mode=tabbedihre bestehenden CODE-Startüberschreibungen verwenden. Eine eingebettete Anwendung kann den Startmodus auch über ihren WOPI- ui_defaultsWert beeinflussen. Die Präferenz des Hosts kann relevant sein, wenn der Server verwendet wird default. Gehen Sie daher nicht davon aus, dass eine Serveränderung eine integrationsspezifische Auswahl überschreibt.
Kann man eine ganze Symbolleiste ausblenden, ohne den Quellcode zu bearbeiten?
Um beim Lesen mehr Platz zu haben, kann die Notebookbar durch Klicken auf den aktuell ausgewählten Tab minimiert und durch erneutes Klicken wieder maximiert werden. Collabora beschreibt dieses Verhalten in der offiziellen Notebookbar-Einführung . Die PostMessage-API dokumentiert außerdem Collapse_Notebookbardie Möglichkeit, die Notebookbar-Schaltflächen oder die Schaltflächenleiste „Kompakt“ auszublenden. Es handelt sich dabei um einen reversiblen Anzeigezustand, nicht um eine permanente Administratoreinstellung.
Für eine feinere Steuerung wählen Sie die PostMessage-Aktion, die dem Element entspricht. Die folgenden Zuordnungen sind im Collabora Online SDK-Handbuch aufgeführt :
Was ausgeblendet werden soll
PostMessage-Aktion
ID-Format
Eine Symbolleistenschaltfläche
Hide_Button
Schaltflächen-ID
Ein Befehl für Menüs und Symbolleisten
Hide_Command
UNO-Befehl, wie zum Beispiel.uno:ThemeDialog
Ein Tab im Tabbed-Layout
Hide_NotebookTab
Tab-ID, z.B.Help
Ein kompakter Menüeintrag
Hide_Menu_Item
Menüpunkt-ID
Die tabspezifische Aktion ist ab Version 24.04.11.1 dokumentiert . Das SDK weist außerdem auf eine erweiterte Abdeckung des Kontextmenüs Hide_Commandin Version 24.04.11.2 hin . Überprüfen Sie Ihren bereitgestellten CODE-Build, bevor Sie sich auf eines dieser Verhaltensweisen verlassen.
Wie sendet man die Hide-Befehle vom WOPI-Host aus?
Diese Aktionen werden von der Anwendung gesendet, die CODE in einem iFrame einbettet – nicht über einen CODE-Einstellungsdialog eingegeben. Sie benötigen die Kontrolle über diese Host-Integration, eine funktionierende WOPI- CheckFileInfoAntwort und einen PostMessageOriginWert, der dem Ursprung Ihrer Host-Webanwendung entspricht. Wenn Sie eine vorkonfigurierte Nextcloud- oder ownCloud-Integration verwenden, stellt diese möglicherweise keine beliebigen benutzerdefinierten PostMessage-Hooks bereit. Nehmen Sie in diesem Fall die Änderung direkt in der Integration vor oder verwenden Sie deren unterstützte Einstellungen.
1. Warten Sie, bis der CODE vollständig geladen ist.
Registrieren Sie einen Nachrichtenempfänger auf der Hostseite. Überprüfen Sie sowohl das Absenderfenster als auch den Ursprung. Wenn CODE meldet App_LoadingStatus, Status: Document_Loadedsenden Sie Host_PostmessageReadydie Nachricht vor den Anpassungsnachrichten. Ohne diesen Handshake kann CODE Hostbefehle ignorieren – ein Fehler, der in Collabora-Problem #13224 erläutert wird .
2. Tabulator und Formatierungsbefehl ausblenden
Der folgende hostseitige JavaScript-Code setzt voraus, dass Ihre Seite bereits ein iFrame mit der ID enthält collabora-frame. Verwenden Sie editorOriginhierfür die exakte HTTPS-Ursprungsadresse Ihres CODE-Editors, nicht den WOPI-Speicherserver. Registrieren Sie den Listener vor der Dokumentinitialisierung in Ihrer eigentlichen Anwendung.
Im Quellcodebereich der Host-Anwendung kann die PostMessage-Verkabelung eingesehen werden. Verwenden Sie den vollständigen Codeausschnitt aus dem Artikel und nicht die Kurzfassung in diesem Bereich.
Hier Helpist das Ziel der Registerkarte „Notebookbar“, während .uno:ThemeDialogein LibreOffice UNO-Befehl identifiziert wird. Die Collabora-Entwickler beschreiben die letztgenannte ID in ihrer Anleitung zum Ausblenden von UNO-Elementen . Um stattdessen eine bestimmte Schaltfläche der Kompakt-Symbolleiste auszublenden, ersetzen Sie die Aktion durch Hide_Buttonund geben Sie die verifizierte Schaltflächen-ID an. Ermitteln Sie die ID nicht anhand der sichtbaren Beschriftung; überprüfen Sie stattdessen den Quellcode Ihres installierten Codes oder die Hinweise zur Symbolleisten-ID im SDK.
Was passiert, wenn die Registerkarte oder die Symbolleiste nicht verschwindet?
Überprüfen Sie die Browserkonsole und die Netzwerkaktivität, bevor Sie Änderungen an CODE-Dateien vornehmen. Häufige Ursachen sind ein fehlender Host_PostmessageReadyHandshake, eine fehlerhafte Konfiguration PostMessageOrigin, das Senden von Nachrichten vor dem eigentlichen Aufruf Document_Loadedoder das Ansteuern eines Menüpunkts im Kompaktmodus, während sich der Editor im Tab-Modus befindet. Da beim erneuten Öffnen der Datei eine neue Sitzung gestartet wird, müssen die ausgeblendeten Nachrichten jedes Mal erneut angewendet werden.
Es gibt auch versionsspezifische Fehler. Beispielsweise beschreibt Collabora-Problem Nr. 15910Hide_NotebookTab einen JavaScript-Fehler in CODE 25.04.9.4, der im Juni 2026 gemeldet wurde. Das Problem ist zwar als behoben markiert, aber das allein gibt nicht an, welche bereitgestellten Builds eine Korrektur enthalten. Überprüfen Sie Ihre genaue Version und die zugehörigen Versionshinweise, falls der gemeldete Fehler auftritt.
Schließlich ist das Ausblenden keine Zugriffskontrolle. Ein ausgeblendeter Druck- oder Download-Button kann weiterhin äquivalente APIs oder andere Pfade zugänglich machen. Wenn das Ziel darin besteht, diese Operationen zu unterbinden, verwenden Sie die dokumentierte WOPI DisablePrintoder DisableExportentsprechende Flags und setzen Sie Ihre Speicherberechtigungen entsprechend durch, anstatt sich auf Hide_Buttonoder zu verlassen Hide_Command.
Wie lässt sich überprüfen, ob die Anpassung funktioniert hat?
Öffnen Sie ein neues Dokument im gewünschten Layout. Prüfen Sie, ob die HelpRegisterkarten im Tab-Modus fehlen und der Befehl „Design“ nicht mehr an der Stelle angezeigt wird, an der er zuvor sichtbar war. Bearbeiten und speichern Sie anschließend ein Testdokument, um zu bestätigen, dass die normale Bearbeitung weiterhin funktioniert. Wiederholen Sie die Prüfung mit einem anderen Dokumenttyp und nach dem Neuladen der Seite, da der Host die sitzungsspezifischen Ausblendbefehle erneut anwenden muss.
Nachdem die Registerkarte „Hilfe“ ausgeblendet wurde, bleiben die anderen Bearbeitungsregisterkarten und die Dokumentoberfläche für eine Funktionsprüfung weiterhin verfügbar.