Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Menu w postaci zakładek książkowych
Forum PHP.pl > Forum > Przedszkole
krriv
Witajcie,

zabrałem się ostatnio za odświeżenie swojej strony internetowej. Przy okazji projektowania napotkałem na mały problem, mianowicie: nowy design wygląda nieźle pod warunkiem, że 'aktywny przycisk' na stronie pozostanie podświetlony. Cel udało mi się osiągnąć, jednak myślę nad wprowadzeniem obsługi wielu języków - i tutaj mam problem.

Czy podany niżej kod, można przedstawić lepiej/ładniej? Jestem początkującym programistą, niestety Google nie było w stanie mi pomóc.


Kod
<?
             $page=$_GET['m']; //m jest przesyłaną zmienną, określającą przeglądaną podstronę
             $lang=$_COOKIE['my_cookie']; //cookie przechowuje informację o wybranym języku witryny w formie 'pl','en' itd
            
             if($m=='page00'){ echo('<img src="./img/'.$lang.'/p00_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p00.gif">'); }
             if($m=='page01'){ echo('<img src="./img/'.$lang.'/p01_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p01.gif">'); }
             if($m=='page02'){ echo('<img src="./img/'.$lang.'/p02_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p02.gif">'); }
             if($m=='page03'){ echo('<img src="./img/'.$lang.'/p03_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p03.gif">'); }
             if($m=='page04'){ echo('<img src="./img/'.$lang.'/p04_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p04.gif">'); }
             if($m=='page05'){ echo('<img src="./img/'.$lang.'/p05_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p05.gif">'); }
             if($m=='page06'){ echo('<img src="./img/'.$lang.'/p06_act.gif">'); } else { echo('<img src="./img/'.$lang.'/p06.gif">'); }
                
             ?>
phpion
  1. <?php
  2. $menu = array('page00', 'page01', 'page02', 'page03', 'page04', 'page05', 'page06');
  3.  
  4. $page = isset($_GET['m']) && in_array($_GET['m'], $menu) ? $_GET['m'] : $menu[0];
  5. $lang=$_COOKIE['my_cookie'];
  6.  
  7. foreach ($menu as $v) {
  8.    echo '<img src="./img/'.$lang.'/'.$v.($v == $page ? '_act' : '').'.gif">'; // tu zmiana
  9. }
  10. ?>

Powinno działać ale nie sprawdzałem.
krriv
Dziękuję za tak szybką odpowiedź i pomoc w tym temacie.
Proponowane przez Ciebie rozwiązanie działa, jednak występuje mały, lecz znaczący problem: wyświetlany jest jedynie pierwszy plik graficzny 'p00' (7-mio krotnie).
Zależy mi na tym, aby wszystkie pliki zostały wyświetlone w kolejności w jakiej są nazwane.
phpion
Faktycznie, wyedytowałem swojego pierwszego posta. Zrobiłem to najprościej jak się da czyli, że nazwa działu (np. page00) odpowiada nazwie pliku graficznego (np. page00.gif / page00_act.gif zamiast p00.gif / p00_act.gif). Zmień nazwy plików z grafikami i będzie śmigać. Dodanie nowego działu czyli zakładki nie będzie stanowiło żadnego problemu smile.gif
krriv
Świetna robota!, dziękuję 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.