إعادة توجيه صفحة الهبوط لكل فئة فرعية إلى ملف الفهرس بشكل افتراضي لفئات التوثيق

مرحبًا بفرقة عمل Discourse،

لقد بدأنا في النظر في فئات مستندات Discourse. يبدو الأمر واعدًا للغاية. عمل رائع!

أحد النقاط التي لاحظتها هي أن صفحة الهبوط لكل فئة فرعية تعرض حاليًا قائمة بالمشاركات ضمن تلك الفئة الفرعية، مرتبة حسب «الأحدث» أو خيارات الترتيب الأخرى المتاحة.

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

هل من الممكن إضافة خيار يسمح للمستخدم بالتبديل بين الخيارين؟

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

بدلاً من هذه الصفحة:

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

6 إعجابات

يبدو أن هذا الطلب قد تم تقديمه بالفعل هنا. كنت أبحث في الفئة الخطأ! :man_facepalming:

لا تترددوا في إغلاق/حذف هذا الموضوع. لقد أضفت تعليقاتي إلى المنشور الآخر.

6 إعجابات

إلا أن الموضوع المرتبط ليس موضوع ميزة يتم تتبع التصويت عليه - لذا ربما يجب أن يبقى موضوعك؟

4 إعجابات

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

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {

    // فئات الوثائق: إعادة توجيه قائمة الفئة إلى الموضوع الفهرسي

    api.onPageChange(() => {
        
        const currentPath = window.location.pathname;
        const queryParams = window.location.search;
        
        const redirects = {
            
            "/c/category-1-slug/category-1-id": "/t/topic-1-slug/index-topic-1-id",
            "/c/category-2-slug/category-2-id": "/t/topic-2-slug/index-topic-2-id"
        };
        
        if (queryParams.includes("list=true")) return;
        
        const match = Object.keys(redirects).find(cat => currentPath.startsWith(cat));
        
        if (match) {
          const targetTopic = redirects[match];
          
          if (currentPath !== targetTopic) {

            const router = api.container.lookup("router:main");
            router.transitionTo(targetTopic);
          }
        }
    });

});

لفتح فئة الوثائق مع القائمة العادية، أضف معلمة إلى عنوان URL:

/c/category-1-slug/category-1-id?list=true
4 إعجابات

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

إعجابَين (2)