وضع Active Class على الرابط الخاص بالصفحة الحالية
إذا كان لديك مجموعة من الروابط داخل ال Sidebar
ويتم عرضها في جميع الصفحات
يمكنك تمييز رابط الصفحة الحالية بإضافة ال Class المسمى active إليه
تخيل أن ملف ال Sidebar يحتوي على الروابط التالية
<li><a href="{{ route('Dashboard') }}">Dashboard</a></li>
<li><a href="{{ route('Profile') }}">Profile</a></li>
<li><a href="{{ route('Settings') }}">Settings</a></li>كل رابط يستخدم الدالة route() لإنشاء الرابط عن طريق اسم ال Route
ولذلك نفترض أن لديك Routes معرفة بالأسماء Dashboard و Profile و Settings بنفس حالة الأحرف
الآن نحتاج لفحص اسم ال Route الحالية حتى نضيف ال Active Class إلى الرابط المناسب
يمكننا استخدام ال named Method لمعرفة إذا كانت ال Route الحالية تحمل اسم معين بهذا الشكل
request()->route()->named('Dashboard')إذا كانت ال Route الحالية اسمها Dashboard ستكون النتيجة true
وإذا كانت تحمل اسم آخر ستكون النتيجة false
ويمكنك تجربة عرض النتيجة داخل ملف Blade بهذا الشكل
{{ request()->route()->named('Dashboard') }}عند فتح صفحة ال Dashboard سيظهر الرقم 1
لأن طباعة القيمة true تعرض هذا الرقم
أما في الصفحات الأخرى فلن يظهر نص لأن طباعة القيمة false تعرض نص فارغ
الآن سنستخدم الشرط المختصر لإضافة كلمة active إذا تحقق الشرط أو نص فارغ إذا لم يتحقق
class="{{ request()->route()->named('Dashboard') ? 'active' : '' }}"وهنا الكود كامل بعد تطبيق الشرط على جميع الروابط
<li>
<a
href="{{ route('Dashboard') }}"
class="{{ request()->route()->named('Dashboard') ? 'active' : '' }}">
Dashboard
</a>
</li>
<li>
<a
href="{{ route('Profile') }}"
class="{{ request()->route()->named('Profile') ? 'active' : '' }}">
Profile
</a>
</li>
<li>
<a
href="{{ route('Settings') }}"
class="{{ request()->route()->named('Settings') ? 'active' : '' }}">
Settings
</a>
</li>الآن عند فتح صفحة ال Dashboard سيحصل الرابط الخاص بها على class="active" بينما ستحصل الروابط الأخرى على class=""
وعند الانتقال إلى صفحة ال Profile سيتم تطبيق ال Class على رابط ال Profile حسب اسم ال Route الحالية