كيفية إعادة فتح عنصر واجهة المستخدم header-contents؟

مرحباً! أنا مبتدئ، لذا آمل في مساعدتكم. أريد تغيير المحتوى في <header>...</header>. عندما أفتح ملفات المصدر، أرى أن أداة “header-content” تقول:

createWidget("header-contents", {
   tagName: "div.contents.clearfix",
   template:hbs`
     {{home-logo attrs=attrs}}
     {{#if attrs.topic}}
       {{header-topic-info attrs=attrs}}
     {{/if}}
     <div class="panel clearfix" role="navigation">{{yield}}</div>
   `,
});

أكتب في common/head_tag.html


<script type="text/discourse-plugin" version="0.8.13">
     api.reopenWidget("header-contents", {
tagName: "div.contents.clearfix",
template:hbs`
<h1>مرحباً! ساعدوني من فضلكم!!!</h1>
<div class="panel clearfix" role="navigation">{{yield}}</div>
`
});
</script>

هذا لا يعمل. ساعدوني من فضلكم.

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

أهلاً بك يا @Deomid_Fedorov، مرحباً بك في ميتا :wave:

إذا قمت بفحص وحدة تحكم المتصفح، سترى شيئًا كهذا

ReferenceError: hbs is not defined

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

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

3 إعجابات

تحياتي، جو! شكراً جزيلاً لسرعة استجابتك. أريد أن أقول إنني بدأت أحب Discourse كثيراً، ولكن هناك بعض الصعوبات التي لم أتمكن من التغلب عليها بعد. بشكل عام، لدي رغبة كبيرة واحدة: أريد أن أكون قادراً على تضمين كودي HTML الخاص بي أينما أردت، في أي وسم، وأريد أن أكون قادراً على إزالة بعض العناصر التي أعتبرها زائدة عن الحاجة.

لقد قرأت المنشور Developing Discourse Themes & Theme Components
ومع ذلك، لم تكن هذه التعليمات كافية لي لحل مشاكلي.

دعنا ننتقل إلى أمثلة محددة:

  1. كيف أقوم بتضمين الكود الخاص بي في وسم header بين كتل div class="title" و div class="navigation"؟
  2. كيف أمنع إنشاء عنصر ul id="navigation-bar"؟

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

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

لا تقلق، يمكننا حل هذا.

أعلم ما تشير إليه هنا.

لكنني لست متأكدًا من العنصر الذي تقصده هنا

هل يمكنك إضافة لقطة شاشة للمكان الذي تريد إضافة عناصر جديدة فيه؟

إذا كان موقعك لا يحتاج إلى هذا العنصر، يمكنك إخفاؤه باستخدام CSS. لذا، شيء كهذا.

#navigation-bar {
  display: none;
}

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

ومع ذلك، أنت تعرف مجتمعك أكثر من أي شخص آخر. لذا، إذا كان يعمل معك، فهذا رائع :+1:

إعجابَين (2)


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

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