نعم. كانت هذه مشكلتي. شكراً لك على التوضيح.
في مجموعة أيقونات svg، يمكنك إضافة اسم أيقونة fontawesome التي تبحث عنها، ثم في القائمة حيث تضيف الأزرار في الرأس، استخدم نفس الصيغة. بالنسبة لأيقونة المستخدم، ما عليك سوى كتابة “user” على سبيل المثال.
تمكنت من جعل الروابط تفتح في علامة تبويب جديدة باستخدام هذا البرنامج النصي. فقط أضف البرنامج النصي التالي إلى قسم “Head”.
<script>
document.addEventListener("DOMContentLoaded", function() {
const links = document.querySelectorAll(".custom-header-link.with-url");
links.forEach(link => {
link.addEventListener("click", function(e) {
e.preventDefault();
e.stopPropagation();
const titles = {
"Documentation": "Enter URL Here",
"Downloads": "Enter URL Here",
"Source Code": "Enter URL Here",
"Dev Portal": "Enter URL Here",
"Slack Channel": "Enter URL Here"
};
const url = titles[this.getAttribute("title")];
if (url) {
window.open(url, '_blank');
}
});
link.setAttribute("href", "#");
});
});
</script>
آمل أن يساعد هذا!
هل من الممكن الحصول على عرض مختلف عندما يتم تصغير عنوان الموقع ويظهر عنوان الموضوع الحالي (عند التمرير لأسفل في موضوع ما)؟
لاحظت أن رأس القائمة المنسدلة لا يزال يبدو رائعًا وله معنى كبير على الشاشات العريضة، ولكنه ليس كذلك على الشاشات الصغيرة. لذا فإن إجراء display: none سيكون مفيدًا وقد تم بالفعل القيام به على سطح المكتب عندما يكون max-width: 712px.
شكرًا وتحياتي. ![]()
هل هناك طريقة لإظهار رأس القائمة المنسدلة فقط على الهاتف المحمول؟
لقد جربت ما يلي:
/* الأنماط الافتراضية - إخفاء أزرار الرأس */
.header-buttons {
display: none;
visibility: hidden;
}
/* استعلام الوسائط للأجهزة المحمولة */
@media screen and (max-width: 767px) {
.header-buttons {
display: inline; /* أو display: inline-block؛ اعتمادًا على تخطيطك */
visibility: visible;
}
}
وهذا يعمل، ولكن أي شيء آخر موجود في الرأس (على سبيل المثال، GitHub - discourse/discourse-header-search) لا يزال مصغرًا كما لو كان رأس القائمة المنسدلة لا يزال موجودًا…
ما الذي أفتقده؟
شكرا
من المحتمل أن يتم الكتابة فوق التخصيص الخاص بك.
لا تحتاج إلى visibility – يمكنك القيام بما يلي:
.header-buttons {
display: none !important;
}
استعلام حول استخدام وظائف الأمان:
إذا كنت تستخدم هذه الوظيفة، فهل من الممكن أن يكون لديك أكثر من مجموعة أمان واحدة لديها حق الوصول إلى قائمة؟
مثالنا: نقوم بتشغيل برامج تعليمية متعددة (مع سنوات/مجموعات فصول متعددة لكل برنامج)، كل مجموعة فصول لديها مجموعة الأمان الخاصة بها حتى نتمكن من منحهم حق الوصول إلى موارد تعليمية صحيحة (دون وصولهم إلى موارد مخصصة لبرنامج/سنة فصل أخرى)، مع وجود فئة فريدة لكل مجموعة سنوات لفصلهم.
أحتاج إلى إنشاء قوائم للسماح لكل فصل بالوصول إلى فئتهم، ولكن أحتاج أيضًا إلى السماح لفريق التعليم لدينا (ليس في مجموعة الأمان للطلاب) بالدخول إلى تلك المساحات.
في الوقت الحالي، الحلول الوحيدة التي أراها:
- إنشاء مجموعة أمان تجمع بين الموظفين وكل فصل (مزعج لأنني أرغب في تعقيدات أقل حول مجموعات الأمان، وليس المزيد)
- تكرار القوائم، بحيث يكون هناك قائمة لمجموعة الطلاب، وقائمة للموظفين
لا يبدو أي من هذين الخيارين جيدًا.
السؤال التالي: ماذا عن إضافة ميزات الأمان إلى عناصر القائمة الفرعية؟
(لمثالي: هذا يعني أنه يمكن أن يكون لدي قائمة واحدة لجميع مجموعات الدورات/الفصول المختلفة، ثم أعرض للطلاب فقط عناصر القائمة الفرعية المطبقة. بينما في الوقت الحالي لدي حوالي 5-6 قوائم رئيسية لإدارتها)
أشجعك على البحث عن بدائل لمكون السمة هذا، لأنه لا يناسب حالة الاستخدام الخاصة بك.
هل يمكنني أن أقترح بدلاً من ذلك أن تضع فئات الفئات ببساطة في إعداد موقع default_navigation_menu_categories؟
بصفتك مسؤولاً، سترى كل شيء (على الرغم من أنه يمكنك تخصيص هذا العرض)، ولكن يجب أن يرى أعضاء هيئة التدريس والموظفون لديك فقط تلك التي لديهم حق الوصول إليها في الشريط الجانبي.
إذا فهمت مشكلتك بشكل صحيح، فسيعمل هذا بشكل جيد جدًا بالنسبة لك.
مرحباً ناثان،
لقد قمنا بإعداد فئاتنا. ولكننا نرغب أيضاً في قائمة في أعلى الصفحة. المستخدمون معتادون على القوائم العلوية - والمجتمعات تمثل منحنى تعلم صعباً بما فيه الكفاية (نحن لسنا هنا لإنشاء عالم تقني جديد بالكامل لطلابنا).
كما أنها لا تعمل لأننا بحاجة إلى القدرة على الارتباط بمواقع خارجية من القائمة (خاصة مواقع SharePoint الخاصة بنا، والتي يتم استخدامها لأن Discourse لا يتضمن مكتبة منظمة)، والفئات لا تفعل ذلك ببساطة.
بصراحة، القدرة على السماح لمجموعات أمان متعددة بعرض قائمة (بنفس الطريقة التي نسمح بها لمجموعات أمان متعددة بالوصول إلى فئة) ستكون أسهل. ولكن إذا لم يكن ذلك ممكناً، فسيتعين علينا إيجاد شيء آخر.
@merefield ارتفاع أزرار تسجيل الدخول يتأثر برأس القائمة المنسدلة
هذه مشكلة فقط إذا تم استخدام اليمين لـ links position.
لم أعد أقوم بصيانة هذا، لذا تم وضع علامة unmaintained عليه.
ومع ذلك، لا تتردد في تقديم طلب سحب (PR) وسأقوم بمراجعته. إذا لم يكن لديك الوقت أو المهارات شخصيًا ولكنك ترغب في أن يقوم شخص ما بإصلاحه ولديك ميزانية، ففكر في النشر في Marketplace.
هذا يسبب لي مشكلة أيضًا. لقد ألقيت نظرة، لكنه معقد للغاية بالنسبة لحلولي البسيطة في CSS للأسف.
لقد قمت بإنشاء طلب سحب (PR) لتحديث المكون. (برعاية @davidkingham) ![]()
على طول الطريق، تم إصلاح بعض مشكلات تجربة المستخدم التي لاحظتها.
يمكن تحسين المكون بشكل أكبر. قد أقوم بإنشاء طلب سحب آخر في وقت لاحق. إليك بعض النقاط التي لاحظتها:
- استبدال نوع إعداد
json_schemaبنوعobjects - إضافة خيار لفتح رابط في علامة تبويب جديدة
- تحسين إمكانية الوصول
شكراً @Arkshine - عمل رائع!
أواجه هذا الخطأ الفادح في موقع يستخدم مكون السمة هذا ![]()
Uncaught (in promise) TypeError: Cannot read properties of undefined (reading 'trim')
at get source (custom-icon.gjs:20:24)
...
أوه. لقد قدمت طلب سحب لإصلاح المشكلة؛ شكرًا للإبلاغ!
تم الدمج! ![]()
مكون رائع وعمل ممتاز - شكراً لجهودكم وخبرتكم! لاحظت أن القائمة المنسدلة تدعم حاليًا عنصر رأس رئيسي مع مستوى واحد من العناصر الفرعية (على سبيل المثال، عنصر رأس → روابط). هل من الممكن إضافة مستوى آخر، بحيث تعمل مثل: عنصر رأس → عنصر فرعي → روابط؟
@angus لقد فتحت طلب سحب لتحديث اسم أيقونة Font Awesome مهملة لاحظتها:
شكرا لك @kelv ![]()
يجب أن يعمل على Horizon أم يجب تغيير شيء ما؟
هذا المكون الإضافي ضروري للمجتمعات التي لديها مدونة و/أو المزيد من التطبيقات ذات الصلة.
