Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/css] Menu
Forum PHP.pl > Forum > Przedszkole
potreb
Chcę zrobić podobne menu jak w tym przykładzie. Jeżeli jestem na jakiejś podstronie to link ma background biały.

W jaki sposób można takie menu wykonać?

Takie menu już stosuje na jednej stronie, ale na innej już nie zdaje egzaminu, dlaczego? Ścieżkę pobieram z bazy i przeglądarki. Jeżeli np forum.html = forum.html to link ma biały background, ale jeżeli się zagłębiam dalej w forum i mam forum-id,2.html to już jest źle. No i właśnie nie wiem w jaki sposób wykonać takie menu, aby działało dla każdej z podstron.
Cezar708
To niestety trzeba znaleźć jakiś wspólny mianownik (część URL), która jest wspólna dla każdego z podstron. Nie wiem w jaki sposób definiujesz linki, ale można to zrobić na przykład tak (oczywiście wcale nie musi działać dla Twojego przykładu)

  1. <?php
  2. function isCurrentSubsite($link, $currentSite){
  3. return preg_match("/$currentSite/", $link);
  4. }
  5. ?>


  1. .active{
  2. background-color: white;
  3. }
  4. .deactive{
  5. background-color: silver; /*przyklad oczywiscie*/
  6. }
  7. <ul>
  8. <?php foreach( $aMenu as $aItem ): ?>
  9. <?php if ( isCurrentSubsite($aItem['link']) ): ?>
  10. <li class='active'>
  11. <?php else: ?>
  12. <li class='deactive'>
  13. <?php endif: ?>
  14. <a href='<?php echo $aItem['link'] ?>'><?php echo $aItem['name'] ?></a>
  15. </li>
  16. <?php endforeach; ?>
  17. </ul>


innym rozwiązaniem może być sztuczne dodanie zmiennej do URL i sprawdzanie dal każdej z podstron... ale to może być trochę kłopotliwe...
potreb
Dzięki cezar, ja robiłem to w taki sposób, sprawdzałem czy np w adresie występuje jakiś wspólny mianownik:

  1. <?php
  2. if(eregi("forum", $link))
  3. ?>


Niestety ten sposób jest niezbyt poprawny, bo jeżeli mam jakiś inny moduł np pages, albo news gdzie wchodząc w podstronę otwieram stronę o id=5 to musiałbym tych regułek trochę napisać, stwierdziłem, że to jest nie uniwersalny sposób na takie menu.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.