أقوم ببعض الاختبارات (على مدى شهور… لا تسأل).\n\nبالعودة إليها - يبدو أنه منذ تحديث، يظهر شريط الترحيب الآن فقط عندما يكون المستخدم قد سجل خروجه.\n\nهل هناك طريقة لجعل الشريط يظهر للجميع - بغض النظر عن حالة تسجيل الدخول؟\n\nشكرًا\n\nمارتن
لقد اختبرته قليلاً ولا أرى هذه المشكلة، هل من الممكن أنك قمت بإغلاق اللافتة بالنقر على x في الزاوية؟ في هذه الحالة، سيتعين عليك مسح localStorage الخاص بمتصفحك لرؤيتها مرة أخرى.
فكرة جيدة - سألقي نظرة عليها
شكرًا
حاولت مسح localstorage - حاولت مسح بيانات المتصفح - حاولت على Edge (سأحاول تنظيف نفسي لأسابيع!) … لا يزال لا يوجد نجاح ![]()
كيف قمت بتكوين إعدادات max trust level و hide for staff؟
هل جربت باستخدام مستخدم جديد تم إنشاؤه للاختبار؟
هل يمكنني جعل لافتات مختلفة مرئية للمستخدمين المسجلين وغير المسجلين أو يجب ألا تكون جميع روابط اللافتة مرئية للمستخدمين غير المسجلين. هل هذا ممكن؟
@Aurora
إحدى الطرق هي إنشاء روابط للمستخدمين المسجلين ومتابعة الروابط للمستخدمين غير المسجلين (بالترتيب، بحيث يكون لديك مجموعتان من الروابط).
ثم، باستخدام بعض CSS، يمكنك إخفاء مجموعة أو أخرى.
هناك فئة CSS anon يمكنك استخدامها.
على سبيل المثال، لنفترض أن لديك رابطين للمستخدمين المسجلين و 3 للمستخدمين غير المسجلين:
- رابط للمستخدم المسجل 1
- رابط للمستخدم المسجل 2
- رابط للمستخدم غير المسجل 1
- رابط للمستخدم غير المسجل 2
- رابط للمستخدم غير المسجل 3
في CSS، يمكنك القيام بما يلي:
/* المستخدمون غير المسجلين: يخفي الرابطين الأولين */
html.anon .featured-banner-link > div:nth-child(-n+2) {
display: none !important;
}
/* المستخدمون المسجلون: يخفي الروابط الثلاثة الأخيرة */
html:not(.anon) .featured-banner-link > div:nth-last-child(-n+3) {
display: none !important;
}
هل سينجح ذلك معك؟
نعم! شكراً جزيلاً لك! هذا مفيد حقاً!
في منطقة الروابط، في حقل الأيقونة، ألن يكون من الممكن جعلها تكتمل تلقائيًا لتسهيل العثور على الأيقونة التي نريدها؟
إذا لم يكن الأمر كذلك، فإن تضمين رابط مباشر لموقع FontAwesome سيجعل من الواضح أن هذا هو مزود الأيقونات، بالإضافة إلى توجيه الشخص مباشرة إلى المصدر.
على سبيل المثال، قمت بتنزيل المكون وتثبيته، ثم عند إنشاء الرابط اضطررت للعودة إلى هذا الموضوع لقراءته مرة أخرى لمعرفة أنه FontAwesome. مجرد اقتراح لجعله أسرع وأسهل في إضافة الأيقونات.
تحرير: لقد استخدمت الاسم على موقعهم، لكنه لا يضيف الأيقونات:
على سبيل المثال هذا:

والذي يبدو أنه مجاني:
إذًا، أيها يجب أن نستخدم؟
لاحظت أيضًا مشكلة مع الملخص هنا في هذا الموضوع. يقول Welcome Link Banner is a simple banner that allows you to add custom text and 1-4 links (شعار ترحيبي بالروابط هو شعار بسيط يسمح لك بإضافة نص مخصص و 1-4 روابط)، ولكنه في الواقع يسمح لي بإضافة المزيد من الروابط. تمكنت من إضافة 6 (وإذا واصلت النقر فإنه يستمر في إضافة المزيد من الروابط).
إذا كان 4 هو الهدف بالفعل، فأعتقد أنه سيكون من الأفضل إذا اختفى زر + banner link (شعار رابط) أو أصبح رماديًا بعد إضافة الرابط الرابع.
أتفق على أن هذا سيكون مفيدًا. هذا ليس خاصًا بـ TC، على الرغم من ذلك. بعض أنواع الإدخال غير متوفرة في TC مقارنة بالنواة/الإضافات.
سأرى ما إذا كان بإمكاني تقديم طلب سحب لتحسين الوصف.
قد تحتاج أيضًا إلى إضافة أيقونات غير مضمنة في Discourse افتراضيًا إلى إعداد
svg_icons
هذه هي مشكلتك.
نعم، يمكنك إضافة أكبر عدد تريده. لا يوجد حد.
هذا يعني أنه مصمم للعمل بشكل أفضل مع 1-4 روابط.
شكرا
أوه، لم أكن أعرف أنه لا يقوم بتحميل جميع الأيقونات المتاحة. اعتقدت أنه يقرأ من موقع FA مباشرة. لقد أضفت أيقونة لم تكن تُحمّل وهي مرئية الآن. شكراً جزيلاً لك.
كيف يمكنني معرفة الأيقونات المتاحة؟ هل هناك قائمة أم أن الأمر أشبه بإضافة أيقونة، ورؤية ما إذا كانت لا تظهر، ثم إضافتها؟
أفهم. أعتقد أن الأمر يتعلق بصياغة النص. ربما شيء مثل
شعار رابط الترحيب هو شعار بسيط يسمح لك بإضافة نص وروابط مخصصة (موصى به: حتى 4 روابط). أو شيء من هذا القبيل.
شكراً جزيلاً على مساعدتك. سعيد لأن الأيقونات مرئية الآن! ![]()
نعم، ستكون هذه هي الطريقة الأسهل.
> تحديث سمة "Welcome Link Banner" تسبب في خطأ تجميع SCSS وتعطل الموقع
مرحباً،
لقد واجهت مؤخراً مشكلة حرجة عند تحديث سمة **"Welcome Link Banner"** على منتدى Discourse الخاص بي.
### 🛑 ملخص المشكلة:
- بعد تحديث السمة، تعطل الموقع على الفور.
- وضع الأمان (`/safe-mode`) كان أيضاً غير متاح.
- الخطأ المسجل كان:
CssSyntaxError: Missed semicolon in common.scss (MiniRacer::RuntimeError)
- خطأ SCSS هذا منع Discourse من تجميع الأصول (assets)، مما تسبب في فشل الواجهة الأمامية بالكامل.
### 🔍 السبب الجذري:
- الملف `common.scss` المحدث داخل سمة "Welcome Link Banner" كان يحتوي على **خطأ في بناء الجملة** (فاصلة منقوطة `;` مفقودة).
- نتيجة لذلك، **تعطل تجميع الأصول**، ولم يتمكن Discourse من تقديم حتى الواجهة الأساسية.
---
### 🛠 كيف قمت بحلها:
بما أنني لم أتمكن من الوصول إلى واجهة الويب (حتى وضع الأمان)، كان عليّ إصلاحها يدوياً:
1. تسجيل الدخول عبر SSH إلى الخادم.
2. الدخول إلى حاوية التطبيق:
```bash
./launcher enter app
-
فتح وحدة تحكم Rails:
RAILS_ENV=production rails c -
تعطيل السمة المعيبة:
Theme.where(name: "Welcome Link Banner").update_all(enabled: false) -
الخروج من وحدة تحكم Rails.
-
مسح جميع الأصول المجمعة:
RAILS_ENV=production rake assets:clobber -
إعادة بناء التطبيق:
./launcher rebuild app
بعد هذه الخطوات، عاد المنتدى للعمل.
اقتراح:
- ربما يمكن إضافة فحص إضافي لبناء جملة SCSS أثناء تحميل/تحديث السمة، قبل تطبيق السمة على مواقع الإنتاج.
- هذا يمكن أن يساعد في تجنب تعطل الموقع بالكامل بسبب أخطاء CSS بسيطة.
هذا غريب. لا يوجد فاصلة منقوطة مفقودة في CSS لهذا المكون.
لا أرى أي تغيير في السجل أيضًا. ![]()
على صعيد آخر، إذا لم يعمل /safe-mode، يمكنك محاولة إضافة ?safe_mode=no_themes مباشرة إلى عنوان URL.
حسناً، لقد تحققت أيضاً ولا أرى هذه المشكلة، هل تم تخصيص المكون؟ أو ربما حدث خطأ ما في عملية التحديث؟
قد يتعارض مع مكون آخر أقوم بتطويره
1 - لقد قمت بإخفاء اللافتة، لكنني أرغب في اختبار بعض الأشياء لذا أحتاج إلى إعادتها. كيف؟
2 - لاحظت أنه على الهاتف المحمول على الأقل، عندما أكون في صفحة القنوات، فإن اللافتة تعطل التخطيط بالكامل:
3 - هل من الممكن استثناء اللافتة من صفحات معينة، بخلاف استخدام CSS؟ أنا على علم بوجود القائمة المنسدلة مع homepage,discovery,all، لكن هذا محدود للغاية.
أعتقد أن مسح ذاكرة التخزين المؤقت قد يساعد، لأنها مخزنة في localStorage:
لقد فعلت ذلك:
لكنه لم ينجح. أنا أستخدم Cloudflare ولقد واجهت مشاكل مع ذاكرة التخزين المؤقت الخاصة بهم، هل يجب أن أنتظر لفترة أطول، أم بما أنها localStorage، فهي غير مرتبطة؟
أنا لست خبيرًا عندما يتعلق الأمر بذلك. مجرد تخمين…
هل هناك طريقة لإزالة ذلك عبر نافذة أدوات المطور؟ أتذكر أنني حذفت بعض الأشياء هناك في وقت ما عندما كنت أعمل على موقع ويب كنت أعمل عليه.
تحديث: طلبت من ChatGPT مساعدتي وفقًا لردك وحصلت على هذا:
مسح ذاكرة التخزين المؤقت للمتصفح لا يؤثر على localStorage، وهو المكان الذي يتم فيه تخزين حالة الرفض. تحتاج إلى إزالة العنصر يدويًا من localStorage.
افعل هذا:
-
افتح موقع Discourse.
-
اضغط على
F12أو انقر بزر الماوس الأيمن واختر Inspect لفتح أدوات المطور. -
انتقل إلى علامة التبويب Console.
-
الصق هذا واضغط على Enter:
localStorage.removeItem("discourse_dismissedWelcomeLinkBanner"); -
قم بتحديث الصفحة.
سيؤدي هذا إلى إعادة تعيين حالة الرفض، ويجب أن يظهر شريط ترحيب الارتباط مرة أخرى.
ثم سألت عما إذا كان بإمكاني القيام بذلك يدويًا أيضًا، ونعم، يمكنني ذلك، عن طريق الانتقال إلى علامة التبويب Application، ثم في الشريط الجانبي الانتقال إلى Storage > Localstorage وحذف “الإدخال”:

دعني أشكرك على توجيهي في الاتجاه الصحيح!
إذًا سؤالي الآن هو: إذا كانت هذه هي الطريقة التي أقوم بها على مكتبي، فكيف يمكنني القيام بذلك على الهاتف المحمول؟ قال ChatGPT إنه يمكنني إضافة هذا إلى شريط العناوين و “تشغيله”، لكنه لم يساعد:
javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");
تعديل: لقد نجح الأمر! كنت أفعل ذلك بشكل خاطئ. أوضح ChatGPT الآن أنني بحاجة إلى فتح المنتدى، ثم في نفس علامة التبويب تلك، تشغيل javascript:localStorage.removeItem("discourse_dismissedWelcomeLinkBanner");، وليس في علامة تبويب جديدة، وهو ما كنت أفعله.
مرة أخرى، شكرًا لك على ردك، لأنه بالتأكيد ساعد في تضييق نطاق الأمور. ![]()






