Autor Zpráva
forest
Profil *
Ahoj,

mám tento kód:

$menu = ARRAY('news.php' => 'News',
              'schedule_matches.php&id_competition=1' => 'Schedule Matches - Group A',
              'schedule_matches.php&id_competition=2' => 'Schedule Matches - Group B',
              'reg_teams_tasks.php' => 'Registered Teams - Tasks');

foreach($menu as $file => $name)
     {
         IF($_GET["section"]== $file)
              {
                  //Zobrazuje aktivní link
          echo "<a href='admin.php?section=$file' id='root_menu_active'>$name</a>";
              }
          ELSE
              {
                  echo "<a href='admin.php?section=$file'>$name</a>";
              }   
     }

Zvýraznění zvoleného odkazu mi funguje v případě odkazů: News a Registered team - task u Schedule Matches samozřejmě nefunguje protože $_GET["section"] se nerovná $file.

Jak by se dal tento kód upravit aby to fungovalo u všech odkazů. Díky
Tori
Profil
Třeba tak, že to celé zabalíte do funkce, která bude jako parametr dostávat nějaký identifikátor aktuální stránky (tj. některý klíč z pole $menu). Tu funkci byste potom volal ne v nějakém includu, ale v těch jednotlivých skriptech (a tím pádem můžete v jednom skriptu předávat funkci basename(__FILE__) a v jiném třeba basename(__FILE__)."&id_competition=".$_GET['id_competition']).
forest
Profil *
Mohl bych Vás poprosit o ukázku.


Teď mě ještě napadá zdali by se to pole nedalo udělat tří hodnotové a pak porovnávat proměnné např:
<pre>$basefile = schedule_matches.php</pre>
<pre>$subvalue = id_competition=1</pre>

A pak nějak podmínka zdali se rovná <pre>$basefile == $_GET["section"]</pre> a zdali se ještě rovná s $subvalue, akorát to neumím napsat..
peta
Profil
1. mas tam &, nemas tam ?
admin.php?section
schedule_matches.php&id_competition
2. Tori to mysli tak, ze cele to obalis do funkce, ktere predas jako parametr stejny klic jako v tom poli.
3. Neni jasne, jake hodnoty ziskavas z getu pro ty nefungujici odkazy, $_GET["section"]. To bys musel napsat, co vypise echo $_GET["section"], pro stav, kdy je to ok a stav, kdy to ok neni
---
Dalo
array(
  array('a','b','c')
)
Tori
Profil
forest:
Teď mě ještě napadá zdali by se to pole nedalo udělat tří hodnotové [...] A pak nějak podmínka zdali se rovná $basefile == $_GET["section"] a zdali se ještě rovná s $subvalue, akorát to neumím napsat..
IMHO je lepší používat pro rozlišení aktivní stránky jen jeden řetězec. Teď ho můžete skládat z hodnoty jednoho či více parametrů z GET, ale třeba za půl roku přejdete na SEO URL (/news, /schedule-matches/group-a, /schedule-matches/group-b, ...) a musel byste přepisovat celou logiku té funkce.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: