Witam. Już kilka ładnych godzin się męczę ze skryptem generującym menu z pliku. Samo generowanie menu działa bez problemu. schody zaczynają się przy próbie oznaczenia elementu menu za pomocą instrukcji warunkowej. Moje próby logicznego rozwikłania tego problemu spełzły na niczym. Albo oznaczanie elementów menu w ogóle nie działało, albo oznaczało wszystko.
W chwili obecnej teoretycznie powinno oznaczać, ale tego nie robi... :( Może mnie nakierujecie co źle zrobiłem?
Mój skrypcik:
<?php
echo "<ul>";
$plik = file(TRESC_MAIN.$lang."/menu/".$menu_type.".inc");
if (isset($_GET['page'])) {
$currentpage = $_GET['page'];
} else {
$currentpage = "nul";}
$linia =0;
while( $linia != count($plik) ){
$pozycja = explode("||", $plik[$linia]);
$menu_url_name = $pozycja[0];
$menu_url_target = $pozycja[1];
$menu_url_class = $pozycja[2];
$menu_url_name_swich = $pozycja[3];
echo"<li class='".$menu_url_class."'><a href='".$menu_url_target."'";
if (($currentpage == 'nul' and $menu_url_name_swich == 'media')or ($currentpage != 'nul' and $currentpage == $menu_url_name_swich)) {echo"class='active'";}
echo ">".$menu_url_name."</a></li>\n\n";
$linia++;
}
echo"</ul>";
?>
Kliknij i zaczekaj na załadowanie kodu ...
Plik z danymi do wygenerowania menu:
START||index.php||stronaglowna-pl||home
O FIRMIE||index.php?page=about||ofirmie-pl||about
ARCHIWIZACJA||index.php?page=archive||archiwizacja-pl||archive
DLA TRANSPORTU||index.php?page=transport||partnerzy-pl||transport
MEDIA||index.php?page=media||media-pl||media
KONTAKT||index.php?page=contact||kontakt-pl||contact
Kliknij i zaczekaj na załadowanie kodu ...
Rozwiązanie: http://php.net/ma...n.trim.php
<?php
$plik = file('test.inc');
if (isset($_GET['page']))
{
$currentpage = $_GET['page'];
}
else
{
$currentpage = NULL;
}
echo '<ul>';
$linia = 0;
while( $linia !== count($plik))
{
$pozycja = explode('||', $plik[$linia]);
$menu_url_name = $pozycja[0];
$menu_url_target = $pozycja[1];
$menu_url_class = $pozycja[2];
$menu_url_name_swich = $pozycja[3];
echo '
<li class="'.$menu_url_class.'">
<a href="'.$menu_url_target.'"';
if (($currentpage === NULL && trim($menu_url_name_swich) === 'media') || ($currentpage !== NULL && $currentpage === trim($menu_url_name_swich)))
{
echo ' class="active"';
}
echo '>'.$menu_url_name.'</a>
</li>';
$linia++;
}
echo "\n".'</ul>';
Piterus World mój blog i miejsce moich eksperymentów. Ubi lex, ibi poena Kontakt przez komunikatory tylko dla znajomych...
|