هل من الممكن تغيير عنوان الموضوع للفئة؟

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

لاحظ كيف أن تلميح العنوان يقول ببساطة “عنوان مثير للاهتمام” في الوقت الحالي. أريد تغييره ليصبح “عنوان مشروعك”. لكنني أريد تغييره فقط لهذا التصنيف المحدد. وليس المنتدى بأكمله. كيف أفعل ذلك؟

يُعيّن Discourse معرفًا (ID) لكل فئة يتم إنشاؤها، لذا يمكنك استخدام ذلك لتحقيق هدفك.

ستحتاج إلى إضافة القليل من الكود المخصص إلى مكون سمة وإضافته إلى السمة (أو السمات) النشطة لديك.

إليك الكود المعلق لما تريد تحقيقه.

<script type="text/discourse-plugin" version="0.8">
  // الخيارات التي يمكنك تغييرها
  const targetCategoryId = 6; // غيّر هذا إلى الفئة التي تريد استهدافها
  const placeHolderForCategory = "CHANGE_THIS_TEXT_BUT_KEEP_THE_QUOTES";

  // لا حاجة لتغيير أي شيء تحت هذا السطر. توقف هنا إذا كنت مديرًا.
  const discourseComputed = require("discourse-common/utils/decorators")
    .default;

  // ليس مكونًا عن بُعد
  const currentLocale = I18n.currentLocale();
  I18n.translations[
    currentLocale
  ].js.composer.custom_category_placeholder = placeHolderForCategory;

  // يغير النص النائب للفئة المستهدفة، وإلا فسيستخدم القيم الافتراضية.
  api.modifyClass("model:composer", {
    @discourseComputed("canEditTopicFeaturedLink")
    titlePlaceholder() {
      return this.category && this.category.id === targetCategoryId
        ? "composer.custom_category_placeholder"
        : this._super();
    },
  });
</script>

يتم وضع هذا في تبويب common > header في مكونك.

يمكنك الحصول على معرف الفئة بزيارة صفحة تلك الفئة المحددة والتحقق من عنوان URL.

على سبيل المثال،

معرف فئة Support هنا في Meta هو 6 (الرقم الأخير في عنوان URL هنا)

Support - Discourse Meta

في المقطع أعلاه، يجب استبدال المعرف (الرقم) الخاص بالفئة المستهدفة بـ “6” في targetCategoryId.

الخيار الآخر مباشر جدًا: غيّر النص إلى ما تريد عرضه كنص نائب لعنوان تلك الفئة.

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

هل يعرف أي شخص ما إذا كان هذا لا يزال يعمل؟

هذا أصبح الآن جزءًا أساسيًا (core)