Newsgroup: it.comp.www.php
Titolo: Effetto actilink con php

Ho creato un file functions.php dove ho messo tra l'altro:
codice:
<?php
function headers () {
    echo
<<<EOD
<div id="header">
<h1>TEATRO IN F<span class="emph">O</span>LLE</h1>
<div id="navbar_wrapper">
<div id="navbar">
<ul>
<li><a id="activelink_nb" href="index.html">Home</a></li>
<li><a href="./comenato.html">Com'è nato</a></li>
<li><a href="./chisiamo.html">Chi siamo</a></li>
<li><a href="./copioni.html">Copioni</a></li>
<li><a href="./immagini.html">Immagini</a></li>
<li><a href="./spettacoli.html">Spettacoli</a></li>
<li><a href="./contattaci.php">Contattaci</a></li>
</ul>
</div><!--navbar-->
</div><!--navbar_wrapper-->
</div><!--header-->
EOD;
};
?>
e quindi nella varie pagine richiamo la funzione con
codice:
<?php
headers ();
?>
Però nella pagina volevo creare un effetto "activelink"
definito così nel CSS:
codice:
#navbar a#activelink{background:white; color:black; font-weight:bold;}
mentre gli altri link sono, specularmente, testo bianco su sfondo nero.
Come posso realizzare questo effetto con php?
Grazie
M.

 M.
sei OT..
quello che chiedi non riguarda PHP.. riguarda HTML e CSS chiedi sui 
gruppi specifici..
comunque se vuoi un consiglio.. cerca di mischiare il meno possibile 
codice PHP e HTML..
-- 
www.iuz-lab.info

 gruppi specifici..
No, forse non hai capito bene quello che sto cercando.
A me serve un ciclo (php) per verificare la pagina in cui sono
e inserire l'effetto o un escamotage del genere. Ho provato
con una cosa del genere:
=====================================================================
<?php
function headers () {
    echo
<<<EOD
<div id="header">
<h1>TEATRO IN F<span class="emph">O</span>LLE</h1>
<div id="navbar_wrapper">
<div id="navbar">
<ul>
<li><a href="index.php" <?php if (ereg ("index.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Home</a></li>
<li><a href="chisiamo.php" <?php if (ereg ("chisiamo.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Chi siamo</a></li>
<li><a href="comenato.php" <?php if (ereg ("comenato.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Com'&#232; nato</a></li>
<li><a href="copioni.php" <?php if (ereg ("copioni.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Copioni</a></li>
<li><a href="immagini.php" <?php if (ereg ("immagini.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Immagini</a></li>
<li><a href="spettacoli.php" <?php if (ereg ("spettacoli.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Spettacoli</a></li>
<li><a href="contattaci.php" <?php if (ereg ("contattaci.php",
{$_SERVER['PHP_SELF']})) echo 'id="currentpage"';?>Contattaci</a></li>
</ul>
</div>
</div>
</div>
EOD;
};
?>
=====================================================================
ma non funziona...
M.

 ha scritto nel messaggio 
news:FGZij.13$Js6...@nntpserver.swip.net...


 Come posso realizzare questo effetto con php?
Una possibile strada: conserva in un array le pagine che compongono il
menu. Nella funzione headers() (ma forse sarebbe meglio in una funzione
menu()) recupera il nome della pagina corrente con
basename($_SERVER['PHP_SELF']) e poi attraverso un foreach crei il menu
confrontando l'i-esima pagina con quella corrente in modo da inserire o
meno l'activelink.
Una traccia da cui partire:
function menu()
{
    $current_page = basename($_SERVER['PHP_SELF']);
    $pages = array('a.php', 'b.php');
 
    $return = '<ul>';
    foreach ($pages as $page) {
        if ($page == $current_page) {
            $return .= '<li id="active">'.$page.'</li>';
        } else {
            $return .= '<li><a href="'.$page.'">'.$page.'</a></li>';        
        }
    }
    $return .= '</ul>';
    return $return;
}
Ciao.
-- 
Federico

> codice:
mmm io da profano ho definito una variabile Sezione in ogni pagina, e 
poi tramite uno switch definito il menù