تم تحديث أيقونة رأس مخصص: إرسال بيانات المشاركة عبر URL

حسنًا، إعادة توجيه إلى عنوان URL خارجي يحتوي على اسم المستخدم.

إليك مثال أساسي حول كيفية القيام بذلك، باستخدام واجهة برمجة التطبيقات الجديدة:

import { apiInitializer } from "discourse/lib/api";
import DButton from "discourse/components/d-button";

export default apiInitializer("1.8.0", (api) => {
  const currentUser = api.getCurrentUser();

  if (!currentUser) {
    return;
  }

  const url =
    "https://example.com/?u=" + encodeURIComponent(currentUser.username);

  const iconComponent = `<template>
    <li class="calculator">
      <DButton
        @href={{url}}
        @icon="calculator"
        class="icon btn-flat"
        title="Calculator"
        target="_blank"
      />
    </li>
  </template>`;

  api.headerIcons.add("calculator", iconComponent, { before: "search" });
});

  • calculator هو اسم فريد
  • iconComponent يشير إلى قالب تضمين داخلي template كما ترى هنا، ولكنه يمكن أن يشير أيضًا إلى مكون قالب فئة تقوم بإنشائه في دليل components.
  • يمكنك اختيار مكان وضع أيقونتك باستخدام before أو after متبوعًا بالاسم الفريد لأيقونة الرأس.

NVIDIA_Share_rvsjetCtUy

لا تتردد في التعديل!

ملاحظة:

  • صيغة القالب template لن تعمل باستخدام واجهة المستخدم.

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

    يمكنك أيضًا استخدام القالب على Github: GitHub - discourse/discourse-theme-skeleton: Template for Discourse themes.

    • لاستخدام مكون قالب، يجب أن يكون امتداد الملف .gjs.

أخبرني إذا كنت بحاجة إلى مزيد من المساعدة!

3 إعجابات