إنشاء موضوع تصنيف

:information_source: ملخص يضيف عمود تاريخ إنشاء قابل للفرز إلى قائمة المواضيع
:eyeglasses: معاينة \u003chttps://discourse.theme-creator.io/theme/Alteras/created-topic-sort\u003e
:hammer_and_wrench: المستودع GitHub - Alteras1/discourse-created-topic-sort: Discourse theme component adds topic sorting by created date
:question: دليل التثبيت كيفية تثبيت سمة أو مكون سمة
:open_book: جديد في سمات Discourse؟ دليل المبتدئين لاستخدام سمات Discourse

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

يضيف هذا عمود تاريخ إنشاء قابل للفرز إلى قائمة المواضيع. كما يضيف علامة تبويب اختيارية “تم الإنشاء” إلى شريط التنقل.

في عرض سطح المكتب، تتم إضافة عمود كامل. على الهاتف المحمول، تتم إضافة تاريخ الإنشاء فقط بشكل مضمن مع تاريخ النشاط عند تحديد فرز “تم الإنشاء” (انظر لقطات الشاشة أدناه).

\u003e :information_source: قبل استخدام هذا المكون، قد يكون من الجيد تقييم حاجة مجتمعك لمعرفة تاريخ الإنشاء. توجد بالفعل طريقة مدمجة لتمييز المواضيع التي تم إنشاؤها حديثًا تلقائيًا خلال فترة زمنية معينة (يمكن تخصيصها بواسطة المستخدمين في التفضيلات \u003e التتبع \u003e المواضيع).

الإعدادات

تمكين الفرز حسب شريط التنقل لتاريخ الإنشاء

يضيف عنصر شريط تنقل “الفرز حسب تاريخ الإنشاء” إلى قائمة التنقل. الافتراضي: true

لقطات الشاشة

سطح المكتب

الهاتف المحمول

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

يمنع عرض عمود تاريخ الإنشاء خارج فلتر تاريخ الإنشاء. يتطلب أن يكون “تمكين شريط التنقل للفرز حسب تاريخ الإنشاء” صحيحًا. الافتراضي: false

تمكين عنصر شريط التنقل في الصفحة الرئيسية

أضف عنصر شريط التنقل “الفرز حسب تاريخ الإنشاء” في قائمة التنقل. الافتراضي: true

تمكين العمود في الصفحة الرئيسية

أضف عمود “تم الإنشاء” في الصفحة الرئيسية. الافتراضي: true

الفئات لعرض عنصر شريط التنقل

قائمة الفئات لعرضها في عنصر شريط التنقل “الفرز حسب تاريخ الإنشاء”. اتركها فارغة للعرض في جميع الفئات. الافتراضي: empty

الفئات لعرض عمود تم الإنشاء

قائمة الفئات لعرض عمود “تم الإنشاء”. اتركها فارغة للعرض في جميع الفئات. الافتراضي: empty

عنصر شريط التنقل قبل

اضبط موضع عنصر شريط التنقل في القائمة. الافتراضي: top.

لقطات الشاشة

الفرز


عرض الهاتف المحمول

مع الفئة والعلامات

التوافق والملاحظات

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

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

16 إعجابًا

رائع، إضافة أخرى مثالية تغير المنتدى! سيكون من الرائع لو تمكنت من التكامل مع إضافة Discourse Nav Item Icon / Emoji.

3 إعجابات

أعتقد أنه يجب أن يعمل معها. :slight_smile:
فقط أضفه على سبيل المثال:
emoji:created_date:twitter:spiral_calendar:filter

4 إعجابات

يمكن التأكيد على إضافة الإعداد كما فعل دون، فهو يعمل!


5 إعجابات

لطيف جدا! للأسف لا يعمل بشكل جيد مع Topic Thumbnails TC، يضيف وقتاً إضافياً لسبب ما:

لاحظ الـ 7 ساعات الإضافية في أسفل المنتصف.

يبدو أنه يمكنني فقط إخفاء .topic-list .topic-list-data:last-of-type ولكن اعتقدت أنني سأعلمك :grin:

تعديل: وجدت شيئًا غريبًا آخر، عندما أنقر على الأحدث، فإنه يبرز المنشأ، وعندما أنقر على المنشأ فإنه يبرز الأحدث :zany_face:

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

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

يبدو تمييز الأحدث والمنشأ غريبًا حقًا. يجب تمييز المنشأ فقط عندما يحتوي عنوان URL على /latest?order=created فيه… هممم…

لقد قمت بتحديث بعض المكونات لجعلها أجمل (أو على الأقل مطابقة) لمكون معاينات الموضوع.

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

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

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

على الإطلاق! لقد أصدرت للتو تحديثًا يضيف أربعة إعدادات جديدة للمساعدة في التحكم في مكان عرض عنصر شريط التنقل والعمود.\n\n- تمكين عنصر شريط التنقل في الصفحة الرئيسية: إضافة عنصر شريط التنقل "الفرز حسب تاريخ الإنشاء" في الصفحة الرئيسية.\n- تمكين العمود في الصفحة الرئيسية: إضافة العمود "الإنشاء" في الصفحة الرئيسية.\n- فئات لعرض عنصر شريط التنقل: قائمة بالفئات لعرضها في عنصر شريط التنقل "الفرز حسب تاريخ الإنشاء". اتركها فارغة لعرضها في جميع الفئات.\n- فئات لعرض عمود الإنشاء: قائمة بالفئات لعرض العمود "الإنشاء". اتركها فارغة لعرضها في جميع الفئات.\n\nhttps://github.com/Alteras1/discourse-created-topic-sort/pull/7\n\nومع ذلك، لاحظ أن القيود المفروضة على عرض العمود تعمل فقط في المواقع التي تستخدم تغييرات قائمة الموضوعات الجديدة.

إعجابَين (2)

شكرا جزيلا! :star_struck: هذا رائع!

هل هناك طريقة لجعل هذه الصفحة الرئيسية الافتراضية؟ لقد رأيت بعض الإضافات تضيف خيارات إلى إعداد الموقع “القائمة العلوية” لذا أعتقد أنه من الممكن.

ثم يمكنني استبدال “الأحدث” القياسية فعليًا عن طريق إخفاء تلك باستخدام CSS.

يمكن ضبط الصفحة الرئيسية الافتراضية باستخدام بعض جافا سكريبت:

import { setDefaultHomepage } from "discourse/lib/utilities";
setDefaultHomepage("/latest?order=created");

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

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

شكرًا! هذا يجب أن يعمل ولكنه يضيف %3F_discourse_homepage_rewrite إلى عنوان URL مما يتداخل مع الفرز. :confounded_face:

إعجابَين (2)

تمكنت من تجاوز ذلك عن طريق تشغيل setDefaultHomepage("latest?order=created&");
ولكن الآن المشكلة هي، على الرغم من أن جميع المؤشرات تقول ذلك، فإن الفرز الفعلي لا يتم تطبيقه.

لذلك جربت نفس عنوان URL باستخدام Custom Homepage for Groups وهذا نجح :tada: لست متأكدًا من سبب عمل إعادة توجيه هذا المكون بشكل مختلف نظرًا لأنني متأكد من أنه يستخدم نفس الطريقة.

إعجابَين (2)

لقد اكتشفت الأمر، كان بحاجة إلى مسح PreloadStore

لذلك يمكن للمرء تعديل السمة الافتراضية الخاصة بك أو مكون جديد لإضافة هذا إلى JS:

import { apiInitializer } from "discourse/lib/api";
import { setDefaultHomepage } from "discourse/lib/utilities";
import PreloadStore from "discourse/lib/preload-store";

export default apiInitializer((api) => {
  setDefaultHomepage("latest?order=created&");
  PreloadStore.remove("topic_list");
});

وهذا CSS لإزالة علامة التبويب “الأحدث”:

li.nav-item_latest {
    display: none;
}

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

3 إعجابات

لقد انتهيت من إنشاء هذه الإضافة (plugin): Created as Default Sort Order
لذلك، تم فرز صفحتي الرئيسية بشكل نظيف حسب تاريخ الإنشاء. ما زلت أستخدم هذا المكون لإضافة العمود.

4 إعجابات

شكراً على مكون السمة الرائع هذا!

لقد قمت بـ PR صغير وبسيط للغاية يسمح بتكوين مكان ظهور عنصر شريط التنقل.

إعجابَين (2)

شكراً على طلب السحب (PR)! لقد قمت بدمجه وتحديث وصف الإعدادات في المنشور الأصلي.

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