إعادة ترتيب قائمة الشريط الجانبي في Discourse

:information_source: ملخص يتيح إعادة ترتيب أقسام قائمة الشريط الجانبي الافتراضية والمخصصة
:eyeglasses: معاينة https://discourse.theme-creator.io/theme/Lilly/discourse-sidebar-menu-reorder
:hammer_and_wrench: المستودع https://github.com/Lillinator/discourse-sidebar-menu-reorder
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

تثبيت مكون السمة هذا

:bulb: مقدمة

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

:woman_technologist:t2: نظرة عامة

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

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


:wrench: التثبيت & التكوين

  • قم بتثبيت مكون السمة هذا وفقًا لـ دليل المبتدئين لاستخدام سمات Discourse.
  • تشير قسم community إلى القسم العلوي الافتراضي للشريط الجانبي - القائمة التي تحتوي على عنوان المواضيع وتشمل القائمة الفرعية المنسدلة المزيد؛ يُوصى بنقل قسم واحد أو اثنين كحد أقصى (افتراضي أو مخصص) فوق قسم community.
  • لا تحذف أيًا من الأقسام الافتراضية في الإعداد، وإلا ستخرج عن الترتيب (يمكنك دائمًا إضافتها مرة أخرى أو إعادة تعيين الإعداد).
  • أفضل طريقة لتكوين هذا المكون هي وجود شاشة إدارة المكون مع إعداد قائمة إعادة الترتيب في نافذة متصفح واحدة، وعرض الشريط الجانبي للمنتدى كمستخدم تجريبي في نافذة أخرى بجانبها؛ قم بتحديث الصفحة بعد كل تغيير في ترتيب قسم القائمة في القائمة.

:gear: الإعدادات

الإعداد الوصف
Sidebar menu order إعداد قائمة يحتوي على أقسام القائمة الافتراضية. (community هو القسم العلوي الافتراضي في الشريط الجانبي ويشمل القائمة المنسدلة More.) قم بإعادة ترتيب أقسام القائمة باستخدام الأسهم للأعلى والأسفل على الجانب. يمكن أيضًا إضافة الأقسام المخصصة المرئية عالميًا - استخدم اسم رابط القائمة (على سبيل المثال، لقائمة مخصصة بعنوان Test Menu، أضف test-menu في الإعداد).

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

لقطة شاشة لإعدادات المكون الافتراضية


:camera_flash: لقطات الشاشة

تظهر لقطات الشاشة أدناه قسم community، وقسمين قائمة مخصصين كمثالين يُدعيان “Dev Links” (dev-links) و “Toolbox” (toolbox) كما يبدوان في لوحة إدارة المكون على اليسار، وللمستخدم العادي على اليمين. تُظهر الأسهم لتحريك قسم القائمة للأعلى والأسفل في إعداد إدارة المكون في المربع الأحمر الصغير.


هنا، تم تكوين الإعداد لإظهار قسم categories الافتراضي فوق قسم community (في وضعي الانكماش والتمدد):

إليك مثال باستخدام قسمين مخصصين: أحدهما يُدعى dev-links وهو فوق قسم community الافتراضي، والآخر يُدعى toolbox وهو أسفل قسم tags الافتراضي.

أيضًا، لاحظ القسم المسمى inbox-section في لقطة شاشة الإدارة أعلاه - هذا هو قسم Messages الذي يدرجه مكون قسم الرسائل للشريط الجانبي في الشريط الجانبي (تحت القائمة المخصصة toolbox أعلاه)، مما يُظهر أنه يمكن استخدام هذا المكون لنقله أيضًا.

بالإضافة إلى ذلك، يمكن استخدام مكون السمة هذا مع مكونات قوائم الشريط الجانبي للمجموعات و التصنيفات الفرعية المضمنة (انظر في لقطة الشاشة أعلاه).


:backhand_index_pointing_right: ملاحظات

  • بعد إضافة أقسام مخصصة عالمية جديدة إلى إعداد sidebar_menu_order، سيرى مستخدمو المنتدى الترتيب الصحيح للقائمة عند إعادة تحميل متصفحهم أو طي/توسيع الشريط الجانبي.
  • إنشاء أقسام قائمة مخصصة عالمية جديدة بينما يكون هذا المكون مفعّلًا قد يؤدي إلى ظهور أقسام مكررة مؤقتة للمسؤول حتى يتم إعادة عرض الشريط الجانبي، إما عن طريق تحديث الصفحة أو عن طريق طيه وتوسيعه.
  • ستظهر دائمًا أقسام القائمة المخصصة التي أنشأها المستخدم في أسفل الشريط الجانبي لذلك المستخدم، ولكنها غير متأثرة بذلك بخلاف ذلك.
  • إذا تم تعيين إعداد Admin -> All Site Settings -> Chat Separate Sidebar Mode على Always، فستظهر زر الدردشة كالمعتاد في الأسفل، وسي игнور المكون أقسام قائمة الدردشة الافتراضية (chat-dms، chat-channels، و chat-search).

تصفح أشياء Discourse الأخرى الخاصة بي
26 إعجابًا

إنه رائع حقًا. أحب حقًا استخدام إعداد الفئات (1) ثم الدردشة (2). شكرًا جزيلاً لك على عملك الرائع يا ليلي.

4 إعجابات

هل ما زال هذا مدعومًا؟ حاولت التثبيت وحصلت على الخطأ التالي. لقد حاولت من هنا وكذلك باستخدام التعليمات اليدوية.

نعم، هذا صحيح. الرابط الموجود في زر “تثبيت مكون السمة هذا” قديم، لكن الرابط في الأعلى لا يزال صحيحًا ويمكنك استخدامه لتثبيت المكون يدويًا

أو جرب هذا الزر

تثبيت مكون السمة هذا

إعجابَين (2)

لقد قمت للتو بتصحيح الرابط في زر التثبيت في المنشور الأصلي (OP) لذا كل شيء على ما يرام الآن.

4 إعجابات

لقد صادفت خطأً بسيطًا، حيث أن الترتيب المحدد لا يعمل عندما تكون شاشة “سطح المكتب” ضيقة بشكل غير عادي - كما هو الحال على هاتفي القابل للطي.

هكذا أريده أن يبدو:

   

عندما تكون لدي شاشة ذات حجم غريب (يبدو أن العرض يتراوح بين 640-820 تقريبًا)، أفقد الترتيب:

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

يا إلهي، عودة الشريط الجانبي ذي العمودين. اعتقدت أن هذا الشيء قد اختفى؟ سألقي نظرة…

4 إعجابات

لقد كنت أنا بالفعل غبياً بعض الشيء! كنت أستخدم المكون القديم ولم ألاحظ ذلك حتى.

ومع ذلك، لاحظت شيئًا واحدًا - ما كان يسمى community أصبح يسمى الآن the-forum. إليك طلب سحب (PR) لتنظيف ذلك في الإعدادات الافتراضية:

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

في المنتدى الخاص بي لا يزال يسمى community وهنا في ميتا أيضًا.


أتساءل كيف قمت بتغييره.

إعجابَين (2)

هذا غريب بالفعل! أتذكر أنني غيرت النص عليه في مرحلة ما عندما أفكر في الأمر الآن. لكنني لست متأكداً كيف وصل ذلك إلى HTML!

سأقوم بسحب طلب السحب (PR) هذا وأفكر ملياً. قد يظل الأمر “غرابة” في موقعي!

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

يجب أن تكون قادرًا على تنفيذ بعض أوامر rails لإعادة تسميته. إذا كان القسم الخاص بك يسمى بالفعل the-forum، فأعتقد أن هذا يجب أن يعمل من وحدة تحكم rails:

cd /var/discourse
./launcher enter app
rails c
section = SidebarSection.find_by(title: 'the-forum', public: true)
if section
  section.update!(title: 'community')
  puts "تم: تمت إعادة التسمية إلى 'community'."
else
  puts "لم يتم العثور على القسم."
end

تأكد من عمل نسخة احتياطية أولاً.

3 إعجابات

لقد جربت هذا (أخيرًا). لكنه لم يعثر على القسم:

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

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

(حذف المنشور من قبل المؤلف)

إعجابَين (2)

ملاحظة: لقد قمت للتو بدفع بعض الإصلاحات الخاصة بالجوال لهذا المكون - فقد بدأ في عرض الخطوط الأفقية بين أقسام الشريط الجانبي والتي يجب أن تظهر فقط في عروض سطح المكتب/الأجهزة اللوحية.

إعجابَين (2)