Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Generowanie nawigacji z pętli
Forum PHP.pl > Forum > Przedszkole
troian
Witam, mam pytanie w jaki sposób można by napisać taką oto nawigację tylko że za pomocą pętli:
  1. <ul>
  2. <li><a href="#">Home</a></li>
  3. <li><a href="#">About</a>
  4. <ul>
  5. <li><a href="#">History</a></li>
  6. <li><a href="#">Team</a></li>
  7. <li><a href="#">Offices</a></li>
  8. </ul>
  9. </li>
  10. <li><a href="#">Services</a>
  11. <ul>
  12. <li><a href="#">Web Design</a></li>
  13. <li><a href="#">Internet
  14. Marketing</a></li>
  15. <li><a href="#">Hosting</a></li>
  16. <li><a href="#">Domain Names</a></li>
  17. <li><a href="#">Broadband</a></li>
  18. </ul>
  19. </li>
  20. <li><a href="#">Contact Us</a>
  21. <ul>
  22. <li><a href="#">United Kingdom</a></li>
  23. <li><a href="#">France</a></li>
  24. <li><a href="#">USA</a></li>
  25. <li><a href="#">Australia</a></li>
  26. </ul>
  27. </li>
  28. </ul>


Wygląda ona tak:


Normalną nawigację wiem jak wykonać za pomocą pętli i array jednak ta jest nieco bardziej skompilowana trzeba by dodać jakiś parametr który przypisywał by cześć zawartości z tablicy do danego rekordu

Aktualnie mam napisane coś takiego:
  1. //tablica
  2. $nawigacja = array (
  3. 1 => array('Strona Główna', '?strona=1'),
  4. 2 => array('Zarządzaj Galerią', '?strona=2'),
  5. 3 => array('Zakładka "O Nas"', '?strona=3'),
  6. 4 => array('Edytuj Oferty', '?strona=4'),
  7. 5 => array('Zarządzaj Kontaktami', '?strona=5'),
  8. 6 => array('Wiadomości', '?strona=6'),
  9. 7 => array('Statystyki www', '?strona=7'),
  10. 8 => array('Zarządzaj Mediami', '?strona=8'),
  11. );
  12. $ilosc_naw = count($nawigacja);
  13.  
  14. // Generowanie nawigaci:
  15. for( $x = 1; $x <= $ilosc_naw; $x++ )
  16. {
  17. echo'<a class="global_navi_bg" href="'.$konf['url'].'/'.$nawigacja[$x][1].'">';
  18. echo' <div class="global_navi_set">';
  19. echo' <div class="global_icon_navi_'.$x.'"></div>';
  20. echo' <div class="global_tekst_navi">'.$nawigacja[$x][0].'</div>';
  21. echo' </div>';
  22. echo' </a>';
  23. }


Jednak w taki sposób generowana nawigacja jest zbyt długa [ Po włączeniu wszystkich opcji ] Dlatego pytam czy jest możliwość napisania tego czy będę musiał ręcznie w html'u napisać całość.
markuz
  1. $nawigacja = array (
  2. 1 => array('Strona Główna', '?strona=1'),
  3. 2 => array('Zarządzaj Galerią', '?strona=2'),
  4. 3 => array('Zakładka "O Nas"', '?strona=3'),
  5. 4 => array('Edytuj Oferty', '?strona=4'),
  6. 5 => array('Zarządzaj Kontaktami', '?strona=5'),
  7. 6 => array('Wiadomości', '?strona=6', array(
  8. array('Nowe wiadomości', '?strona=9')
  9. )),
  10. 7 => array('Statystyki www', '?strona=7'),
  11. 8 => array('Zarządzaj Mediami', '?strona=8'),
  12. );
  13. $ilosc_naw = count($nawigacja);
  14.  
  15. // Generowanie nawigaci:
  16. for( $x = 1; $x <= $ilosc_naw; $x++ )
  17. {
  18. $submenu = array();
  19. if(isset($nawigacja[$x][2]) && is_array($nawigacja[$x][2]))
  20. $submenu = $nawigacja[$x][2];
  21. echo'<a class="global_navi_bg" href="'.$konf['url'].'/'.$nawigacja[$x][1].'">';
  22. echo' <div class="global_navi_set">';
  23. echo' <div class="global_icon_navi_'.$x.'"></div>';
  24. echo' <div class="global_tekst_navi">'.$nawigacja[$x][0];
  25. if(count($submenu) > 0)
  26. foreach($submenu as $menuItem)
  27. echo '<a href="'.$menuItem[1].'">'.$menuItem[0].'</a>';
  28. echo '</div>';
  29. echo' </div>';
  30. echo' </a>';
  31. }


Dopisane z palca - mogą być błędy.
troian
Dobra zrobiłem, Dzięki wielkie za pomoc smile.gif
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.