الرئيسية
» كيف
»
تخصيص أشرطة أدوات Collabora CODE بدون تعديل الكود المصدري
تخصيص أشرطة أدوات Collabora CODE بدون تعديل الكود المصدري
لتبسيط محرر Collabora Online Development Edition (CODE)، اختر "مُصغّر" أو "مُبَوَّب" للتصميم العام، ثم استخدم تكامل PostMessage الخاص بمضيف WOPI لإخفاء الأوامر أو الأزرار أو علامات تبويب Notebookbar. يُعدّ طي شريط الأدوات تغييرًا مُريحًا في العرض؛ بينما يُعدّ إخفاء عنصر تحكم من خلال المضيف أكثر ملاءمةً عندما ترغب في واجهة مُوحّدة لكل جلسة تحرير.
أي واجهة برمجة تطبيقات يجب عليك تخصيصها؟
يُقدّم برنامج CODE تصميمًا مُدمجًا مع قوائم وأشرطة أدوات تقليدية، وتصميمًا مُبَوَّبًا مع شريط أدوات دفتر الملاحظات. ابدأ بتحديد التصميم الذي يراه المستخدمون: مُعرّف زر شريط الأدوات ومُعرّف علامة تبويب شريط أدوات دفتر الملاحظات غير قابلين للتبديل. تُشير إرشادات دعم Collabora إلى أن الأسماء القديمة classicقد notebookbarتم إيقافها لصالح الأسماء الجديدة compactبدءًا tabbedمن سلسلة 21.11. راجع إرشادات تكوين واجهة Collabora .
يجمع تخطيط علامات التبويب أدوات التحرير ضمن علامات تبويب مسماة؛ وتُعد علامة تبويب المساعدة هدفًا محتملاً لـ Hide_NotebookTab.يستخدم التصميم المضغوط صف قائمة منفصل وشريط أزرار أصغر، لذا فإن عناصر التحكم في القائمة والأزرار تحتاج إلى معرفات مختلفة.
هل يجب تغيير الإعدادات الافتراضية للخادم أم جلسة المستخدم؟
غيّر الإعدادات الافتراضية للخادم فقط عندما يكون من الضروري أن يبدأ معظم المستخدمين بنفس التخطيط. في عمليات التثبيت ذاتية الإدارة، يقبل user_interface.modeالإعداد القيم التالية : أو أو . قم بعمل نسخة احتياطية من التكوين، ثم غيّر القيمة الحالية بدلاً من إضافة عنصر XML آخر.coolwsd.xmldefaultcompacttabbedmode
يوضح ملف XML المختصر هذا الإعداد، وليس بديلاً عن قسم التكوين الكامل. طبّق التغيير من خلال عملية التكوين وإعادة تشغيل الخدمة المعتادة في عملية النشر، ثم أعد فتح المستند. يمكن لعمليات نشر الحاويات بدلاً من ذلك تمرير --o:user_interface.mode=tabbedتجاوزات بدء التشغيل الخاصة بها في CODE. يمكن لتطبيق التضمين أيضًا التأثير على وضع بدء التشغيل من خلال ui_defaultsقيمة WOPI الخاصة به. قد يكون لتفضيل المضيف أهمية عند استخدام الخادم default، لذا لا تفترض أن تعديل الخادم سيلغي خيارًا خاصًا بالتكامل.
هل يمكنك إخفاء شريط الأدوات بالكامل دون تعديل كود المصدر؟
للحصول على مساحة أكبر أثناء القراءة، يمكن طي شريط الملاحظات بالنقر على علامة التبويب المحددة حاليًا؛ والنقر مرة أخرى يُوسّعه. تشرح Collabora هذا السلوك في مقدمة شريط الملاحظات الرسمية . كما توثّق واجهة برمجة تطبيقات PostMessage Collapse_Notebookbarخاصية إخفاء أزرار شريط الملاحظات أو شريط الأزرار المُصغّر. هذه حالة عرض قابلة للعكس، وليست سياسة إدارية دائمة.
لتحكم أدق، اختر إجراء PostMessage الذي يطابق العنصر. ترد التعيينات التالية في دليل Collabora Online SDK :
ما الذي يجب إخفاؤه
إجراء PostMessage
تنسيق المعرف
زر واحد في شريط الأدوات
Hide_Button
معرف الزر
أمرٌ يُطبّق على القوائم وأشرطة الأدوات
Hide_Command
أمر أونو، مثل.uno:ThemeDialog
علامة تبويب واحدة في تخطيط علامات التبويب
Hide_NotebookTab
معرّف علامة التبويب، مثلHelp
مدخل قائمة مختصرة
Hide_Menu_Item
معرف عنصر القائمة
تم توثيق الإجراء الخاص بالتبويب بدءًا من الإصدار 24.04.11.1 . كما يشير SDK إلى تغطية موسعة لقوائم السياق Hide_Commandفي الإصدار 24.04.11.2 . تحقق من إصدار CODE المنشور قبل الاعتماد على أي من السلوكين.
كيف يتم إرسال أوامر الإخفاء من مضيف WOPI؟
يتم إرسال هذه الإجراءات من قِبل التطبيق الذي يُضمّن التعليمات البرمجية في إطار iframe، وليس عن طريق إدخالها في مربع حوار إعدادات التعليمات البرمجية. أنت بحاجة إلى التحكم في تكامل المضيف، CheckFileInfoواستجابة WOPI فعّالة، وقيمة PostMessageOriginتُطابق مصدر تطبيق الويب المضيف. إذا كنت تستخدم تكامل Nextcloud أو ownCloud مُجمّعًا، فقد لا يُتيح لك الوصول إلى خطافات PostMessage المُخصصة؛ في هذه الحالة، قم بإجراء التغيير في التكامل نفسه أو استخدم إعداداته المدعومة.
1. انتظر حتى يكتمل تحميل الكود
قم بتسجيل مستمع للرسائل في صفحة المضيف. تحقق من كلٍ من نافذة المرسل ومصدره. عندما يُبلغ CODE App_LoadingStatusعن رسالة Status: Document_Loaded، أرسلها Host_PostmessageReadyقبل رسائل التخصيص. بدون هذه المصافحة، قد يتجاهل CODE أوامر المضيف - وهو عطل موضح في مشكلة Collabora رقم 13224 .
2. إخفاء علامة تبويب وأمر تنسيق
يفترض كود جافا سكريبت التالي، المُنفذ على جانب المضيف، أن صفحتك تحتوي بالفعل على إطار iframe بمعرّف collabora-frame. عيّن هذا المعرّف editorOriginإلى مصدر HTTPS الذي يُشغّل مُحرّر التعليمات البرمجية الخاص بك، وليس خادم تخزين WOPI. سجّل المُستمع قبل تهيئة المستند في تطبيقك الفعلي.
يمكنك فحص توصيلات postMessage من لوحة المصدر الخاصة بالتطبيق المضيف. استخدم نموذج التعليمات البرمجية الكامل الموجود في المقالة، وليس النص المختصر المعروض في هذه اللوحة.
هذا Helpهو هدف علامة تبويب Notebookbar، بينما .uno:ThemeDialogيُحدد أمر LibreOffice UNO. يُوضح مطورو Collabora هذا المعرّف تحديدًا في إرشاداتهم حول إخفاء عناصر UNO . لإخفاء زر مُحدد من شريط أدوات Compact، استبدل الإجراء بـ [ Hide_Buttonاسم الإجراء] وقدّم معرّف الزر المُؤكد. لا تُخمّن المعرّف من التسمية الظاهرة؛ راجع مصدر التعليمات البرمجية المُثبّت أو إرشادات معرّف شريط الأدوات في SDK.
ماذا لو لم يختفِ التبويب أو شريط الأدوات؟
تحقق من وحدة تحكم المتصفح ونشاط الشبكة قبل تعديل ملفات التعليمات البرمجية. من أكثر الأسباب شيوعًا عدم وجود Host_PostmessageReadyمصافحة، أو عدم تطابق PostMessageOrigin، أو إرسال رسائل قبل Document_Loaded، أو استهداف عنصر قائمة مضغوطة أثناء وجود المحرر في وضع علامات التبويب. إعادة فتح الملف تبدأ جلسة جديدة، لذا قم بتطبيق إخفاء الرسائل في كل مرة.
توجد أيضًا عيوب خاصة بكل إصدار. على سبيل المثال، تصف المشكلة رقم 15910 في CollaboraHide_NotebookTab خطأً في جافا سكريبت في الإصدار 25.04.9.4 من البرنامج، والذي تم الإبلاغ عنه في يونيو 2026؛ وقد تم إغلاق المشكلة، ولكن هذا وحده لا يُحدد أي الإصدارات المنشورة تحتوي على إصلاح. تحقق من إصدارك المحدد وملاحظات الإصدار الخاصة به إذا واجهت الخطأ المذكور.
أخيرًا، لا يُعدّ الإخفاء تحكمًا في الوصول. فقد يُتيح زر الطباعة أو التنزيل المخفي الوصول إلى واجهات برمجة التطبيقات أو مسارات أخرى مماثلة. إذا كان الهدف هو منع هذه العمليات، فاستخدم WOPI DisablePrintأو DisableExportالعلامات الموثقة، وفرض أذونات التخزين حسب الحاجة، بدلًا من الاعتماد Hide_Buttonعلى Hide_Command.
كيف يمكنك التحقق من نجاح عملية التخصيص؟
افتح مستندًا جديدًا بالتصميم المطلوب. تأكد من Helpاختفاء علامة التبويب في وضع علامات التبويب، وأن أمر "السمة" لم يعد متاحًا في المكان الذي كان يظهر فيه سابقًا. ثم عدّل مستندًا تجريبيًا واحفظه للتأكد من استمرار عمل خاصية التأليف بشكل طبيعي. كرر الفحص مع نوع مستند آخر وبعد إعادة تحميل الصفحة، لأن الخادم سيُعيد تطبيق أوامر الإخفاء الخاصة بالجلسة.
بعد إخفاء علامة التبويب "المساعدة"، تظل علامات التبويب الأخرى الخاصة بالتحرير ولوحة المستند متاحة لإجراء فحص وظيفي.