vitao.web Posted August 30, 2010 Report Share Posted August 30, 2010 Labdien! Piedodiet, ka atkal patraucēju, bet nerodas idejas, kā īstenot šo lietu. Ir inklūdots fails menu.php, kurā ir tikai menu. Ideja ir tāda, ka vajag, kaut kā izdomāt, lai class="active" ir mainīgs visu laiku, atkarībā no faila, kurā ir inklūdots. Piemēram ja būs index.php, tad active būs Home un ja piemēram jaunumi, tad active būs Jaunumi utt.. Vai maz tas ir iespējams un kā to varētu panākt? Paldies! ar cieņu, vitao.web Quote Link to comment Share on other sites More sharing options...
vitao.web Posted August 30, 2010 Author Report Share Posted August 30, 2010 Ir padomā viens variants, bet vai tas ir labs? Varbūt ir kāds labāks? <div class="menu"> <ul> <li><a href="index" <?php if($_SERVER["REQUEST_URI"] == "/index") { echo 'class="active"';} ?>><span>Home Page </span></a></li> <li><a href="about" <?php if($_SERVER["REQUEST_URI"] == "/about") { echo 'class="active"';} ?>><span> About Us </span></a></li> <li><a href="portfolio" <?php if($_SERVER["REQUEST_URI"] == "/portfolio") { echo 'class="active"';} ?>><span>Services</span></a></li> <li><a href="enroll" <?php if($_SERVER["REQUEST_URI"] == "/enroll") { echo 'class="active"';} ?>><span>Enroll</span></a></li> <li><a href="contact" <?php if($_SERVER["REQUEST_URI"] == "/contact") { echo 'class="active"';} ?>><span> Contact Us</span></a></li> </ul> </div> Quote Link to comment Share on other sites More sharing options...
Леший Posted August 30, 2010 Report Share Posted August 30, 2010 Tavs variants nav labs ar to, ka ja man būs "/index/blablabla", tad nenostrādās pareizi. Un 5 if-i arī nav smuki, paprovē ar regex meklēt <a href="$_SERVER["REQUEST_URI"]" un liec tam klasi klāt. Quote Link to comment Share on other sites More sharing options...
foxsk8 Posted August 30, 2010 Report Share Posted August 30, 2010 A kā būtu ar JS? $("#menu ul li a").each(function(){ var href = this.getAttribute('href'); var location = jQuery.url.segment(3); var newhref = jQuery.url.attr("protocol")+"://"+jQuery.url.attr("host")+"/test/"+href; if ( window.location.href == newhref) { $(this).parent("li").addClass("active"); } }); Protams, vajag šo pluginu http://github.com/allmarkedup/jQuery-URL-Parser Protams, ka dodu labāk priekšroku php, bet nu ja neko diži nevajag, var arī šādi. Vismaz nebūs visu laiku pie jaunu meņu likšanas, jāliek kods, protams, vispār jau man liekas, ka var izvedot, vai dabot jau gatavas fijas priekš menu active. P.S. Neesmu pamodies. Quote Link to comment Share on other sites More sharing options...
vitao.web Posted August 30, 2010 Author Report Share Posted August 30, 2010 Tavs variants nav labs ar to, ka ja man būs "/index/blablabla", tad nenostrādās pareizi. Un 5 if-i arī nav smuki, paprovē ar regex meklēt <a href="$_SERVER["REQUEST_URI"]" un liec tam klasi klāt. Pats tiko uzliku un tieši, lai pārbaudītu un ir tā kā tu teici. A kā tu domāji to savu variantu. Vari parādīt kādu paraugu lūdzu vai linku ? :) Quote Link to comment Share on other sites More sharing options...
Леший Posted August 30, 2010 Report Share Posted August 30, 2010 Uz ātro (var nestrādāt) JS: link = location.href.split('/', 4); $("#menu ul li a[href="+link[3]+"]").parent("li").addClass("active"); PHP: $uri = split('/', $_SERVER['REQUEST_URI']); $menu = str_replace("<li><a href=\"".$uri[1]."\"", "<li class=\"active\"><a href=\"".$uri[1]."\"", $menu ); Quote Link to comment Share on other sites More sharing options...
indoom Posted August 30, 2010 Report Share Posted August 30, 2010 cik saprotu tie /index, /portfolio, /about ir katrs atsevišķs php fails? Tad kāpēc vienkārši neielikt katrā failā pirms includo menju kādu mainīgo, piem., define('PAGENAME','index'); attiecīgi. Un tad iekš menju netaisīt nekādas izvirtības, bet pārbaudīt <?php if (PAGENAME === 'index') echo ' class="active"'; ?> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.