مساعدة في إعادة توجيه المستخدم إلى المحتوى المحظور

متابعة للنقاش من المواضيع المقيدة في الفئة:

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

1
حاولت DiscourseURL.routeTo('/t/table-builder-test-2/1667') في منشئ الثيمات، يعمل ولكنه يستغرق وقتًا طويلاً ويُظهر أخطاء عند التحميل، على الرغم من تحميل الصفحة بنجاح.

2
حاولت أيضًا باستخدام setDefaultHomepage('/t/table-builder-test-2/1667'); و

      const container = Discourse.__container__;
      const router = container.lookup("router:main");

      let topicId = router.currentRoute.parent.params.id

      PreloadStore.remove(`topic/${topicId}`);

إنه يعيد التوجيه فقط بعد تحميل الصفحة المقيدة ثم النقر على زر الرجوع.

3
location.href = '/t/table-builder-test-2/1667'

يعمل ولكنه يحمّل الصفحات المقيدة أيضًا لبضع ثوانٍ، على عكس الطريقة 1 التي تعمل بسلاسة.

ما هي أفضل طريقة لتحقيق ذلك؟

تغيير سمة الصفحة الرئيسية المخصصة الخاصة بي الصفحة الرئيسية. الخدعة هي أن بعض الأشياء يتم تحميلها مسبقًا وعليك القيام بشيء لجعلها تختفي.

نأمل أن تتمكن من العثور على المثال في الكود، فهذا أفضل ما يمكنني شرحه من هاتفي. :person_shrugging:

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

لقد حاولت باستخدام

let topicId = router.currentRoute.parent.params.id
PreloadStore.remove(`topic/${topicId}`);

ولكنه لم يعمل، هل لدينا وثيقة حول كيفية عمل طريقة PreloadStore.remove؟