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...
|