التحكم في قائمة و تغيرها عند التوجه الى قسم معين بالموقع
السلام عليكم
بالبداية عندي القائمة ذي <ul class="pro16"> <li class="current"><a href="#nogo"><b>Home</b></a></li> <li><a href="#nogo"><b>قسم العلوم</b></a></li> <li><a href="#nogo"><b>قسم الرياضة</b></a></li> <li><a href="#nogo"><b>أقسام ثانية</b></a></li> </ul> هذه القائمة توجد في موقعي في ملف الهيدر الذي اريد فعله هو عمل شرط عند التوجه الى الرئيسية يكون class="current" هو الرئيسية و عند التوجه الى قسم العلوم يكون class="current" هو قسم العلوم و هكذا مع العلم أن ملف هذه القائمة موجود في الهيدر و يتم استدعاءه عبر include لا اريد أن أضع لكل قسم قائمة خاصة به اريد هذه القائمة ان تعمل في الموقع بأكمله
2 إجابات
لدى فكرة بسيطة تعتمد على اسم الملف لنفرض ان اسم ملف الاقسام cat.php واسم الرئيسية index.php وهذا مثال كامل للفكرة
<?php $cat_id = intval($_GET['id']); $cur_file = basename($_SERVER["SCRIPT_NAME"]); $menus = array( array('id' => 1 , 'title' => 'قسم العلوم'), array('id' => 2 , 'title' => 'قسم الرياضة'), array('id' => 3 , 'title' => 'أقسام ثانية') ); ?> <ul class="pro16"> <li <?php if($cur_file == 'index.php'){ echo 'class="current"';} ?>><a href="#nogo"><b>Home</b></a></li> <?php foreach ($menus as $menu) { $current = ($cur_file == 'cat.php' and $menu['id'] == $cat_id) ? 'class="current"' : '1'; echo "<li {$current}><a href='cat.php?id={$menu['id']}'><b>{$menu['title']}</b></a></li>\n"; } ?> </ul> بواسطة: molhm 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا مشكور أستاذي
يجب عليك أن تقوم بي معرفة id كل قسم تم تقوم بإنشاء دالة متل هده
function makeActive($id) { if($id === $_GET['id'] { echo 'current'; } }تم تقوم بإستعمالها هكذا <ul class="pro16"> <li class="<?php makeActive(1); ?>"><a href="#nogo"><b>Home</b></a></li> <li class="<?php makeActive(2); ?>"><a href="#nogo"><b>قسم العلوم</b></a></li/> <li class="<?php makeActive(3); ?>"><a href="#nogo"><b>قسم الرياضة</b></a></li> <li class="<?php makeActive(4); ?>"><a href="#nogo"><b">أقسام ثانية</b></a></li> </ul> بواسطة: ibloum تعديل: ibloum 3 من 3 أشخاص وجدو هذه الاجابة مفيدة. هل وجدتها؟ نعم لا رائع ، طريقتك ستعمل بكفائة مع الاقسام ، اما مع الملفات مثل الرئيسية فالافضل ان نستعمل basename($_SERVER["SCRIPT_NAME"]) فكرت في الأمر المشكل أنه لا يوجد هناك ايدي إذن إستعمل طريقة الاخ molhm طريقة molhm هى نفس طريقة اخونا العزيز ibloum ولكنه اضاف اسلوب اختيار الصفحات الثابتة ايضا نعم مشكور أخوي على المساعدة و جزاكم الله عنا ألف خير |