رأس علامة التبويب القائمة الجوالة لا تتوسع بشكل كامل حتى يتم تغيير حجم النافذة

نواجه مشكلة حيث تتوسع قائمة رأس العلامة التجارية في الجزء العلوي الأيسر جزئيًا فقط على الهاتف المحمول عند النقر عليها. لقد قمنا بتعيينها لعدم عرض الشريط على الهاتف المحمول. إذا نقرت فقط على قائمة الهامبرغر، فستبدو هكذا.

ولكن إذا قمت بعد ذلك بتغيير حجم النافذة في أي اتجاه، فإنها تتوسع بالكامل وتظهر جميع الروابط الفرعية.

كيف يمكنني جعلها تتوسع بالكامل عند النقر عليها دون الحاجة إلى تغيير حجم النافذة؟

لقد وجدت أنه في منتدانا عندما أنقر فقط على قائمة الهامبرغر، لا تتم إضافة الفئة “slide-in” إلى div “menu-panel”.

ولكن بمجرد تغيير حجم النافذة، تتم إضافتها ويعمل القائمة بشكل صحيح.

على حد علمي، لا تأتي menu-panel و slide-in من السمة الخاصة بنا. ولكن يبدو أن slide-in مهم لجعلها تعمل. لماذا لا تتم إضافة slide-in عند فتح القائمة؟ لماذا يؤدي تغيير حجم نافذة المتصفح إلى إضافتها فجأة؟

إليك كيف أرى هذه المكونة على الهاتف المحمول دون تثبيت أي سمات أخرى:

لم أضطر إلى تغيير الحجم للحصول على هذا، وعندما أقوم بتغيير الحجم لا أحصل على فئة slide-in على الإطلاق…

يبدو أنك تستخدم Discourse 3.2، بدلاً من الإصدار الحالي 3.3. هناك تحديثات لهذه المكونة تعتمد على الإصدار 3.3، لذلك لا تحصل على هذه التحديثات في الوقت الحالي.

من الممكن أن يؤدي تحديث Discourse والمكونة إلى حل جميع مشاكلك، ولكن إذا لم يكن الأمر كذلك، فقد يكون هناك تعارض مع تخصيصات أخرى.

إعجابَين (2)

أنت على حق، نحن نستخدم Discourse 3.2.3. اعتقدت أنني فهمت من هذا المنشور أن المشكلة موجودة أيضًا في الإصدار 3.3 ولكن إصدارك يبدو جيدًا. سأتحقق مما إذا كان بإمكاني الترقية إلى 3.3، أو ربما تثبيت إصدار أقدم من مكون brand-header.

هل تم نشر أي شيء يفيد بأن المكون يتطلب الإصدار 3.3؟ لا أرى ذلك في أي مكان.

هل تعرف متى تم إجراء التحديثات التي تعتمد على 3.3؟ أو ما هو آخر إصدار يعمل مع 3.2؟

إعجاب واحد (1)

لا يتطلب الأمر ذلك صراحةً، ولكن في بعض الأحيان عند إجراء تحديثات نعتمد على ميزة أحدث في Discourse، سنقوم بتثبيت مكون السمة على إصدار أقدم من Discourse مما سيمنعه من تلقي تحديثات غير متوافقة.

عند القيام بذلك، تكون التفاصيل في ملف .discourse-compatibility:

في هذه الحالة، سيتم تثبيتك على الالتزام بالهاش: 12e6f76e0508b262517efd5db2d7feca261dff86، وهو DEV: move widgets to dedicated files, cleanup (#28) · discourse/discourse-brand-header@12e6f76 · GitHub

منذ ذلك التغيير، تم إعادة هيكلة كود المكون بالكامل بسبب التغييرات في كيفية عمل الرأس في Discourse.

أعتقد أن هذا يسلط الضوء على مشكلة جيدة للنظر فيها، فهذه المعلومات مدفونة تقنيًا إلى حد ما. ربما يمكننا إضافة رسالة في لوحة الإدارة تفيد بأن بعض المكونات توقفت عن تلقي التحديثات لأنها تتطلب ميزات من أحدث إصدار من Discourse.

إعجابَين (2)

لقد قمت بعمل نسخة من المكون، وأعدته إلى الالتزام 12e6f76، وقمت بتثبيته على منتدانا ولكن المشكلة لا تزال قائمة. ألا ينبغي أن يحل ذلك المشكلة؟

لا، هذه هي الـ commit التي تم تثبيتها عليها بالفعل، أنت تفتقد كل ما يأتي بعد ذلك.

إعجاب واحد (1)

يجب أن أكون أسأت الفهم. لم تكن لدينا هذه المشكلة في السابق. في مرحلة ما، حدثت المشكلة لأن المكون أجرى تغييرات تتطلب Discourse 3.3 وقمنا بتحديث المكون ولكننا ما زلنا نستخدم Discourse 3.2. هل هذا صحيح؟ إذا كان الأمر كذلك، ألن يكون الحل الأبسط هو التراجع إلى الإصدار الأخير من المكون الذي يعمل مع Discourse 3.2؟

لم يتلق المكون تلك التغييرات الخاصة بـ 3.3. عندما يتم تثبيت مكون على إصدار معين من Discourse، فإنه يتجمد فعليًا في حالته الحالية حتى يتم تحديث Discourse.

لذلك لا ينبغي أن تحتاج إلى القيام بذلك… يجب أن يجعلك التثبيت تلقائيًا تبقى على أحدث إصدار متوافق، ولكن من الممكن أن تكون هذه المشكلة موجودة بالفعل في إصدار المكون الذي تستخدمه.

إعجاب واحد (1)

أفهم الآن… ذكي. هل من الآمن افتراض أنه لن يكون هناك أي جهد من قبل القائم بالصيانة لجعل المكون يعمل بشكل صحيح مع 3.2؟

لقد قمت بعمل نسخة من المنتدى وترقيته إلى 3.3 ونعم، هذا يحل المشكلة. أتحقق مع مسؤول النظام لدينا لمعرفة ما إذا كان من الممكن الترقية إلى 3.3 على المنتدى المباشر.

شكرا!

إعجاب واحد (1)

نعم، للأسف، لدينا فقط النطاق الترددي للحفاظ على مكونات السمات على أحدث إصدار من Discourse، لذا يمكن أن يحدث هذا مع الإصدارات القديمة من وقت لآخر.

تمكنا أخيرًا من تحديث المنتدى المباشر إلى الإصدار 3.3 وهو يعمل فجأة. شكراً مرة أخرى!

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.