Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Stampa id="active" su link

    Ciao a tutti,

    cercando di semplificarmi la vita in realtà me la sto complicando

    Dunque vorrei usare una funzioncina per stampare id="active" sul link in base al basename della pagina. Ecco cos'ho prodotto ma non funziona
    Codice PHP:
    $tagTitle = array(
                
    "index.php" => "Home Page",
                
    "chi-siamo.php" => "Chi Siamo,
                "
    servizi.php" => "Servizi"
                ); 

    function ActiveLink() {
        global 
    $tagTitle;
        foreach(
    $tagTitle as $link => $activeLink) {
            if(
    $link == $current) {
                echo 'id="
    current"';
            } 
        } 

    Nella pagina ho messo:
    Codice PHP:
    $current basename($_SERVER['PHP_SELF']); 
    e come link questo:
    codice:
    <li class="headlink"><a <?php echo ActiveLink(); ?> href="index.php">Home</a>
    <li class="headlink"><a <?php echo ActiveLink(); ?> href="chi-siamo.php">Home</a>
    Dove sbaglio? Grazie per l'aiuto!
    En la habana hay una pila 'e locos!

  2. #2
    Utente di HTML.it L'avatar di bstefano79
    Registrato dal
    Feb 2004
    Messaggi
    2,520
    Codice PHP:
    $tagTitle = array( 
                
    "index.php" => "Home Page"
                
    "chi-siamo.php" => "Chi Siamo"
                
    "servizi.php" => "Servizi" 
                
    );  

    function 
    ActiveLink() { 
        global 
    $tagTitle
        foreach(
    $tagTitle as $link => $activeLink) { 
            if(
    $link == $current) { 
                echo 
    "id=\"current\""
            }  
        }  


  3. #3
    Grazie per il suggerimento, ma purtroppo continua a non stampare niente nel link....
    En la habana hay una pila 'e locos!

  4. #4
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    Nella tua funzione $current deve essere dichiarato come variabile globale, per cui global $tagTitle, $current;

  5. #5
    Sì però in questo caso mi rende tutti i link attivi. Questo l'HTML:
    codice:
    <li class="headlink"><a <?php echo ActiveLink(); ?> href="index.php">Home</a>
    <li class="headlink"><a <?php echo ActiveLink(); ?> href="chi-siamo.php">Home</a>
    En la habana hay una pila 'e locos!

  6. #6
    Diciamo che questa condizione è sempre vera:
    Codice PHP:
            if($link == $current) { 
                echo 
    "id=\"current\""
            } 
    Se applicata con la funzione ad ogni link:
    codice:
    <li class="headlink"><a <?php echo ActiveLink(); ?> href="index.php">Home</a>
    <li class="headlink"><a <?php echo ActiveLink(); ?> href="chi-siamo.php">Home</a>


    In pratica volevo evitare di scrivere per ogni link:
    Codice PHP:
    <?php if($current == 'index.php') echo "id=\"current\""?>
    C'è un modo elegante?
    En la habana hay una pila 'e locos!

  7. #7
    Utente di HTML.it L'avatar di Laxus
    Registrato dal
    Oct 2010
    Messaggi
    251
    Codice PHP:
    function ActiveLink($page)
    {
         global 
    $current;

         if (
    $page == $current)
         {
              echo 
    'id="current" '
         }

    codice:
    <li class="headlink"><a <?php ActiveLink('index.php'); ?>href="index.php">Home</a>
    <li class="headlink"><a <?php ActiveLink('chi-siamo.php'); ?>href="chi-siamo.php">Chi siamo</a>

  8. #8
    FUNZIONA! GRAZIE MILLE!

    En la habana hay una pila 'e locos!

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.