موضوع قابل للنقر

:discourse2: ملخص يجعل “Clickable Topic” المنطقة الكاملة لـ topic-list-item قابلة للنقر، بدلاً من عنوان الموضوع فقط.
:eyeglasses: معاينة معاينة على Discourse Theme Creator
:hammer_and_wrench: رابط المستودع https://github.com/discourse/discourse-clickable-topic
:open_book: جديد في سمة Discourse؟ دليل المبتدئين لاستخدام سمة Discourse

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

الميزات

preview

:discourse2: مُستضاف لدينا؟ مكونات السمات متاحة للاستخدام في خططنا القياسية، والأعمال، والمؤسسية.

46 إعجابًا

شكرًا جزيلاً لك، إنها حاجة ملحة جدًا! :heart:

4 إعجابات

هذا مكون مفيد جدًا! كان يجب دمجه في Discourse من منظور تجربة المستخدم، لكن هذا مجرد رأيي.

على أي حال، أعاني من مشكلة في محاولة جعل نفس المنطق يعمل مع الفئات (Categories). كنت أرغب في القيام بذلك باستخدام api.modifyClass، لكن يبدو أنني أغفلت الجزء الحاسم. هل يمكنك مساعدتي من فضلك؟

لدي هذا الإعداد لصفحة سطح المكتب:
image

بشكل أساسي، المربع الأحمر على اليسار يجب أن يكون قابلًا للنقر:

أو للحصول على صورة مثالية لما أريد تحقيقه: إعادة تصميم منتدى Blizzard، لأنني أعجب به كثيرًا:

أقدر أي مساعدة في هذا الشأن.

بينما كنت في انتظار الرد، عثرت أيضًا على صفحة المكونات هنا:
https://github.com/discourse/discourse/tree/master/app/assets/javascripts/discourse/app/components
وحاولت تجربة أفكار مختلفة، لكن يبدو أن الخطاف الخاص بي غير متاح حتى الآن؟ أو أنني أغفلت شيئًا ما!؟ :slight_smile:

يسعدنا أن يعجبك المكوّن!

شكرًا على الاقتراحات :grinning_face_with_smiling_eyes:

في الوقت الحالي، تم تصميم هذا المكوّن ليعمل فقط مع Topics في قائمة المواضيع.

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

إذا كنت ترغب في التجربة وتفرع هذا المكون، فأنت مرحب بك للقيام بذلك :+1:

ك نقطة انطلاق لجعل الفئة قابلة للنقر، أقترح عليك الاطلاع على الكود في هذا المكون الذي يقوم بذلك عن طريق تعديل مكون topic-list-item داخل نواة Discourse.

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

يتم سرد بعضها في مواقعها أدناه…

app/assets/javascripts/discourse/app/components/categories-and-latest-topics.js
app/assets/javascripts/discourse/app/components/categories-and-top-topics.js
app/assets/javascripts/discourse/app/components/categories-boxes-topic.js
app/assets/javascripts/discourse/app/components/categories-boxes-with-topics.js
app/assets/javascripts/discourse/app/components/categories-boxes.js
app/assets/javascripts/discourse/app/components/categories-only.js
app/assets/javascripts/discourse/app/components/category-list-item.js

3 إعجابات

لم تعد المعاينة تعمل

إعجابَين (2)

أعتقد أن هذا يجب أن يكون جيدًا الآن. :slightly_smiling_face::+1:

إعجابَين (2)

معطل الآن.

لقد اعتمدنا على هذه المكونة لجعل بطاقات الموضوعات في عرض الفئات + الأحدث (الافتراضي في حالتنا) قابلة للنقر. منذ تحديث اليوم إلى أحدث إصدار 3.1.0beta8 (والآن يظهر كـ 3.2.0.beta1-dev)، توقفت المكونة عن العمل بشكل صحيح.

الآن، تظل الحالة النشطة للمؤشر قابلة للنقر، ولكن منطقة الموضوع ليست قابلة للنقر. مع فتح وحدة تحكم المتصفح، يوجد خطأ قد يساعد المطورين في تحديد المشكلة:

Uncaught TypeError: this.router is undefined

function navigateToTopic(topic, href) {
    if (this.siteSettings.page_loading_indicator !== "slider") {
      // With the slider, it feels nicer for the header to update once the rest of the topic content loads,
      // so skip setting it early.
      this.appEvents.trigger("header:update-topic", topic);
    }
    this.session.set("lastTopicIdViewed", {
      topicId: topic.id,
      historyUuid: this.router.location.getState?.().uuid
    });
    _url.default.routeTo(href || topic.get("url"));
    return false;
  }

الخطأ الذي تم طرحه للسطر:

historyUuid: this.router.location.getState?.().uuid

هل يمكن أن يكون ذلك متعلقًا بترقيات Ember المخطط لها/الجارية في النواة؟

مرحباً @kinetiksoft - لم أتمكن من إعادة إنتاج المشكلة من جهتي. يبدو أن مكون السمة يعمل بشكل جيد مع أحدث إصدار من Discourse. استخدام رابط “المعاينة في منشئ السمة” في المنشور الأصلي هنا يبدو أنه يعمل أيضاً.

هل يمكنك مشاركة رابط لموقع به المشكلة؟ ربما هناك تعارض مع سمة/إضافة أخرى.

إعجابَين (2)

شكراً لك! لقد أرسلت لك رسالة خاصة برابط للمجتمع المعني. ليس من المناسب مشاركته علنًا.

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

شكراً @kinetiksoft! يبدو أن المشكلة تحدث عند استخدام مكون السمة جنبًا إلى جنب مع عرض “الفئات + الأحدث” (والذي قمت بتكوينه كصفحتك الرئيسية).

لقد قمت بإنشاء طلب سحب (PR) من شأنه حل المشكلة.

سأقوم بالنشر هنا بمجرد دمجه، وبعد ذلك ستحتاج إلى تحديث منتداك إلى أحدث إصدار من Discourse core.

3 إعجابات

شكرا لك ديفيد! يسعدنا أننا تمكنا من المساعدة في تحديد المشكلة في مكون يعمل بشكل مثالي

إعجابَين (2)

تم الانتهاء - لذلك يجب أن يسري المفعول في المرة التالية التي تقوم فيها بالتحديث إلى أحدث إصدار من Discourse

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

سنقوم بمحاولة التحديث لاحقًا هذا الأسبوع وسأعود بالتأكيد إلى هذا الموضوع للإبلاغ عن سير الأمور. شكراً لك مرة أخرى!

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

يمكننا تأكيد إصلاح المشكلة. شكراً لك مرة أخرى! :heart:

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

مرحباً، كيف يمكنني تعديل هذه المكونات لدعم إضافة المستندات؟

أنا أقوم بتشغيل أحدث إصدار من Discourse 3.4.0.beta2-dev.


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

أي أفكار حول ما قد يسبب هذا؟

شكرًا مقدمًا على كل مساعدتكم ومدخلاتكم. :slight_smile:

4 إعجابات

مرحباً، شكراً على هذا الـ TC، ولكن يبدو أن منطقة ما لا تزال غير قابلة للنقر؟

أواجه هذه المشكلة بشكل متقطع في موقع أديره:

أقوم بتشغيل Discourse 52ab90911 و Clickable Topic 37f0aa135fe

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