Acasă
» Cum să
»
Personalizați barele de instrumente Collabora CODE fără a edita sursa
Personalizați barele de instrumente Collabora CODE fără a edita sursa
Pentru a simplifica editorul Collabora Online Development Edition (CODE), alegeți Compact sau Tabbed pentru aspectul general, apoi utilizați integrarea PostMessage a gazdei WOPI pentru a ascunde comenzi individuale, butoane sau filele Notebookbar. Restrângerea unei bare de instrumente este o modificare convenabilă a vizualizării; ascunderea unui control prin intermediul gazdei este mai potrivită atunci când doriți o interfață consistentă pentru fiecare sesiune de editare.
Ce interfață CODE ar trebui să personalizezi?
CODE oferă un aspect compact cu meniuri și bare de instrumente tradiționale și un aspect cu file și o bară de notebook-uri. Începeți prin a identifica pe care o văd utilizatorii dvs.: un ID de buton în bara de instrumente și un ID de filă în bara de notebook-uri nu sunt interschimbabile. Ghidul de asistență Collabora menționează că denumirile mai vechi classicau notebookbarfost depreciate în favoarea compactși tabbedîncepând cu seria 21.11. Consultați ghidul de configurare a interfeței Collabora .
Aspectul cu file grupează instrumentele de editare sub file denumite; fila Ajutor este o posibilă țintă pentru Hide_NotebookTab.Aspectul compact folosește un rând de meniu separat și o bandă de butoane mai mică, astfel încât controalele de meniu și butoane necesită identificatori diferiți.
Ar trebui să modificați o sesiune implicită a serverului sau o sesiune de utilizator?
Schimbați valoarea implicită a serverului numai atunci când majoritatea utilizatorilor ar trebui să înceapă cu aceeași structură. În instalările autogestionate, user_interface.modesetarea din coolwsd.xmlacceptă default, compact, sau tabbed. Faceți o copie de rezervă a configurației, apoi modificați modevaloarea existentă în loc să adăugați un alt element XML:
Acest fișier XML prescurtat demonstrează setarea, nu înlocuiește întreaga secțiune de configurare. Aplicați modificarea prin procesul normal de configurare și repornire a serviciului al implementării, apoi redeschideți un document. Implementările de containere pot transmite --o:user_interface.mode=tabbedîn schimb suprascrierile de pornire CODE existente. O aplicație de încorporare poate influența, de asemenea, modul de pornire prin ui_defaultsvaloarea sa WOPI. Preferința gazdei poate conta atunci când serverul utilizează default, așa că nu presupuneți că o modificare a serverului va suprascrie o alegere specifică integrării.
Poți ascunde o întreagă bară de instrumente fără a edita codul sursă?
Pentru mai mult spațiu în timpul citirii, un clic pe fila selectată în prezent poate restrânge bara Notebookbar; un clic din nou o va extinde. Collabora descrie acest comportament în introducerea oficială a Notebookbar . API-ul PostMessage documentează, de asemenea Collapse_Notebookbar, , care ascunde butoanele Notebookbar sau banda de butoane Compact. Este o stare de afișare reversibilă, nu o politică permanentă de administrator.
Pentru un control mai precis, alegeți acțiunea PostMessage care corespunde elementului. Următoarele mapări sunt listate în manualul SDK-ului Collabora Online :
Ce să ascunzi
Acțiune PostMessage
Format ID
Un buton din bara de instrumente
Hide_Button
ID buton
O comandă în meniuri și bare de instrumente
Hide_Command
Comandă UNO, cum ar fi.uno:ThemeDialog
O filă în aspectul cu file
Hide_NotebookTab
ID-ul filei, cum ar fiHelp
O intrare compactă în meniu
Hide_Menu_Item
ID element de meniu
Acțiunea specifică filei este documentată începând cu versiunea 24.04.11.1 . SDK-ul menționează, de asemenea, o acoperire extinsă a meniului contextual pentru Hide_Commandversiunea 24.04.11.2 . Verificați versiunea CODE implementată înainte de a vă baza pe oricare dintre comportamente.
Cum trimiți comenzile hide de la gazda WOPI?
Aceste acțiuni sunt trimise de aplicația care încorporează CODE într-un iframe — nu sunt tastate într-un dialog de setări CODE. Aveți nevoie de control asupra integrării gazdă respective, de un CheckFileInforăspuns WOPI funcțional și de o PostMessageOriginvaloare care se potrivește cu originea aplicației web gazdă. Dacă utilizați o integrare Nextcloud sau ownCloud în pachet, este posibil ca aceasta să nu expună hook-uri PostMessage personalizate arbitrare; în acest caz, faceți modificarea în integrarea însăși sau utilizați setările acceptate.
1. Așteptați ca CODE-ul să se termine de încărcat
Înregistrați un ascultător de mesaje în pagina gazdă. Verificați atât fereastra expeditorului, cât și originea. Când CODE raportează App_LoadingStatuscu Status: Document_Loaded, trimiteți Host_PostmessageReadyînainte de mesajele de personalizare. Fără această strângere de mână, CODE poate ignora comenzile gazdă - o eroare explicată în problema Collabora #13224 .
2. Ascundeți o filă și o comandă de formatare
Următorul cod JavaScript pe partea de gazdă presupune că pagina dvs. are deja un iframe cu ID-ul collabora-frame. Setați editorOriginla originea HTTPS exactă care deservește editorul dvs. de CODE, nu serverul de stocare WOPI. Înregistrați listener-ul înainte de inițializarea documentului în aplicația dvs. reală:
Panoul sursă al aplicației gazdă este locul unde se poate inspecta conexiunile postMessage. Folosiți exemplul de cod complet din articol, nu textul prescurtat afișat în acest panou.
Iată Helpținta filei Notebookbar, în timp ce .uno:ThemeDialogidentifică o comandă LibreOffice UNO. Dezvoltatorii Collabora descriu în mod specific acest ultim ID în ghidul lor despre ascunderea elementelor UNO . Pentru a ascunde un anumit buton din bara de instrumente Compact, înlocuiți acțiunea cu Hide_Buttonși furnizați ID-ul butonului verificat. Nu ghiciți ID-ul din legenda vizibilă; consultați sursa de COD instalată sau ghidul privind ID-ul barei de instrumente din SDK.
Ce se întâmplă dacă fila sau bara de instrumente nu dispare?
Verificați consola browserului și activitatea rețelei înainte de a modifica fișierele CODE. Cele mai frecvente cauze sunt absența unei Host_PostmessageReadyhandshake-uri, o nepotrivire PostMessageOrigin, trimiterea de mesaje înainte de Document_Loadedsau direcționarea unui element de meniu Compact în timp ce editorul este în modul Tabbed. Redeschiderea fișierului începe o sesiune nouă, așadar aplicați de fiecare dată ascunderea mesajelor.
Există și defecte specifice versiunii. De exemplu, problema Collabora #15910 descrie o Hide_NotebookTaberoare JavaScript în CODE 25.04.9.4, raportată în iunie 2026; problema este marcată ca închisă, dar acest lucru nu stabilește ce versiuni implementate conțin o remediere. Verificați versiunea exactă și notele de lansare aferente dacă vedeți eroarea raportată.
În cele din urmă, ascunderea nu este control al accesului. Un buton Imprimare sau Descărcare ascuns poate lăsa disponibile API-uri echivalente sau alte căi. Dacă scopul este de a interzice aceste operațiuni, utilizați WOPI-ul DisablePrintsau DisableExportsteagurile documentate și impuneți permisiunile de stocare după cum este necesar, în loc să vă bazați pe Hide_Buttonsau Hide_Command.
Cum poți verifica dacă personalizarea a funcționat?
Deschideți un document nou în aspectul dorit. Confirmați că Helpfila lipsește în modul Tab și că comanda Temă nu mai este disponibilă acolo unde era vizibilă anterior. Apoi editați și salvați un document de test pentru a confirma că procesul de creare normală funcționează în continuare. Repetați verificarea cu un alt tip de document și după reîncărcarea paginii, deoarece gazda trebuie să reaplice comenzile de ascundere specifice sesiunii.
După ce fila Ajutor este ascunsă, celelalte file de editare și spațiul de lucru pentru documente rămân disponibile pentru o verificare funcțională.