إعدادات لا تظهر

مرحباً بالجميع، أبدأ في تطوير الأشياء لـ Discourse، وأعمل على مكون سمة.
الرابط: GitHub - NateDhaliwal/discourse-persistent-banner: A theme component for Discourse that cannot be closed by the user.

عند وضعه على Theme Creator، لا تظهر الإعدادات، على الرغم من أن لدي settings.yml. أي أفكار؟

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

هل ترى أي رسائل خطأ في منشئ السمات؟

أعتقد أنه يجب عليك استخدام نفس علامات الاقتباس في البداية والنهاية.

قد يكون هذا أيضًا مشكلة. سأجرب default: "".

ربما تريد إضافة “block” إلى الخيارات. بخلاف ذلك، سيتعين عليك استخدام زر التراجع لاختيار ذلك مرة أخرى.

إعجابَين (2)

عذرًا، لقد أدركت للتو أنني كنت أنقر على “إنشاء جديد” بدلاً من استيراده…
ولكن الآن، عندما أحاول استخدام عنوان URL، فإنه يقول إن about.json غير صالح أو غير موجود، ويسألني إذا كان سمة.
About.json:

هل هناك خطأ ما؟

فقدان فاصلة بعد عنوان URL للترخيص.

4 إعجابات

:roll_eyes:
@merefield هل سيكون الإصدار في \"\"؟

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

ربما ذلك أيضًا. فقط انظر إلى الأمثلة.

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

شكرًا! آخر واحد، لا يبدو أنني أستطيع عرض المتغير.
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/common/header.html

هل كان ذلك بسبب أنني لم أقم بتهيئته بشكل صحيح؟ حاولت اتباع الدليل…

  1. لا تستخدم “header.html”، استخدم مكونًا مناسبًا (يفضل ملف .gjs، ولكن قد يكفي ملف .hbs).
  2. استخدم مساعد html-safe كلما قمت بإخراج html من الإعدادات أو المتغيرات.
إعجابَين (2)

هل سأضطر إلى استخدام

import Component from "@glimmer/component";

export default class PracticeComponent extends Component {
  get bannerLinks() {
    return JSON.parse(settings.banner_links);
  }
}

حينها؟

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

انظر إلى المليارات من الأمثلة :stuck_out_tongue_winking_eye:

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

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

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

لست متأكدًا مما إذا كنت أسير في الاتجاه الصحيح.
لقد أنشأت javascripts/persistent-banner.hbs بهذا:
https://github.com/NateDhaliwal/discourse-persistent-banner/blob/main/javascripts/persistent-banner.hbs

لكن لا شيء يظهر. حاولت وضعه في أماكن مختلفة، وما زال لا يعمل.

حاولت النظر إلى الأمثلة، لكن يبدو أن الكثير منها لا يساعد.
أي نصيحة؟

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

في أي منفذ إضافة تريد وضع اللافتة الخاصة بك؟
ألق نظرة على Using Plugin Outlet Connectors from a Theme or Plugin

يمكنك استخدام https://meta.discourse.org/t/add-a-featured-topic-list-to-your-discourse-homepage/132949?u=moin كمثال

يمكنك استخدام (deprecated) Plugin outlet locations theme component للعثور على أسماء ومواقع منافذ الإضافات. “above-main-container” على سبيل المثال هو الأعلى فوق قائمة الموضوعات، ولكن ليس فوق الشريط الجانبي.

النظر إلى كود Theme component الذي يضيف شيئًا مشابهًا هو أيضًا طريقة رائعة للتعلم.

إعجابَين (2)

لا تحتاج ولا ينبغي عليك وضع علامات script في ملفات hbs. يجب أن تقتصر على محتوى القالب.

لا تخمن، اقرأ الأدلة:

3 إعجابات

إذًا… تمكنت من جعله يعمل دون استخدام ملف hbs، ولكن بدلاً من ذلك باستخدام علامة <script> مع handlebars، وهو يعمل الآن.
أستخدمه هكذا في الوقت الحالي، لكنني سأستمر في محاولة استخدام ملف hbs بدلاً من ذلك.

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

لقد أنشأت طلب سحب سريع لك حتى تتمكن من رؤية الطريقة الصحيحة لتقسيم الملفات. لا تتردد في الدمج أو مجرد إلقاء نظرة على الفرع.

6 إعجابات

شكراً جزيلاً! لقد نجح الأمر الآن!

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

لا تقلق يا نيت. استمر في التجريب والقراءة والاطلاع على أمثلة أخرى. في لمح البصر، ستكون أفضل مني بكثير في هذه الأمور المتعلقة بالتطوير :smiley: :raised_hands:

إعجابَين (2)

شكرا للتشجيع!

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

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.