Indice del forum Olimpo Informatico
I Forum di Zeus News
Leggi la newsletter gratuita - Attiva il Menu compatto
 
 FAQFAQ   CercaCerca   Lista utentiLista utenti   GruppiGruppi   RegistratiRegistrati 
 ProfiloProfilo   Messaggi privatiMessaggi privati   Log inLog in 

    Newsletter RSS Facebook Twitter Contatti Ricerca
* evidenziare voce menų selezionata
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet
Precedente :: Successivo  
Autore Messaggio
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 04 Giu 2006 17:30    Oggetto: * evidenziare voce menų selezionata Rispondi citando

Ciao a tutti, qualcuno sa dirmi come fare in menų che una volta cliccato su una determinata voce, questa resti selezionata in modo tale da capire che parte del sito sto visitando?
Ovviamente senza usare javascript... ma solo html e css... (sempre se č possibile)
Grazie

PS: spero di essermi spiegato abbastanza bene.. Laughing
Top
Profilo Invia messaggio privato
ioSOLOio
Amministratore
Amministratore


Registrato: 12/09/03 19:01
Messaggi: 16342
Residenza: in un sacco di...acqua

MessaggioInviato: 04 Giu 2006 18:15    Oggetto: Rispondi citando

tramite css...

puoi semplicemente creare la classe che definisce come deve essere il menų...quindi crei un id per il menu selezionato

ad esempio:
Codice:

<A class=mainlevel id=active_menu href="home.htm">Home</A>
 
<A class=mainlevel href="contattaci.htm">Contattaci</A>


e nel css
Codice:

A.mainlevel:link { qua definisci la classe per i link generici del menų
}

#active_menu { qua definisci come vuoi che visivamente sia il link del menų selezionato
}
Top
Profilo Invia messaggio privato
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 04 Giu 2006 18:45    Oggetto: Rispondi citando

Si, ho capito, ma questo sistema funziona sicuramente in una pagina html... ma per una php? Intendo dire che se ho un menų che č uguale per 100 pagine, mi conviene usare gli include del php per inserirlo in tutte le pagine, questo per evitare di modificare un mare di volte le pagine. In pratica il menų lo scrivo solo una volta, non credo che il sistema valido per le pagine html pure funzioni... dico bene? Rolling Eyes
Top
Profilo Invia messaggio privato
rebelia
Dio maturo
Dio maturo


Registrato: 17/07/03 09:22
Messaggi: 7987

MessaggioInviato: 04 Giu 2006 19:56    Oggetto: Rispondi citando

atigra ha scritto:
Si, ho capito, ma questo sistema funziona sicuramente in una pagina html... ma per una php? Intendo dire che se ho un menų che č uguale per 100 pagine, mi conviene usare gli include del php per inserirlo in tutte le pagine, questo per evitare di modificare un mare di volte le pagine. In pratica il menų lo scrivo solo una volta, non credo che il sistema valido per le pagine html pure funzioni... dico bene? Rolling Eyes


piccola correzione sulla comunque giusta risposta di iosoloio: class="nomeclasse" cioe' aperte e chiuse virgolette (o il validatore s'arrabbia Wink )

tu usi php e' vero, ma cio' che viene servito al client e' una pagina in html (o xhtml) ed e' quella che formatterai col css

da qualche parte nel tuo codice ci sara' il comando che "mette assieme" il tag < a href= "blablabla" >bla< /a > ed e' li' che devi agire, aggiungendo una classe a quel tag a e poi formattandolo di conseguenza Smile


L'ultima modifica di rebelia il 31 Lug 2006 12:25, modificato 1 volta
Top
Profilo Invia messaggio privato HomePage
horus
Macchinista
Macchinista


Registrato: 22/03/05 10:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 05 Giu 2006 08:38    Oggetto: Rispondi citando

In php non c'č nessun problema, quando crei il menu lato server puoi analizzare ad esempio la variabile $_server['SCRIPT_NAME'] e se corrisponde alla voce di menų relativa inserire come suggerito da ioSOLOio e Rebelia la classe apposita per la formattazione grafica.
Top
Profilo Invia messaggio privato
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 05 Giu 2006 09:04    Oggetto: Rispondi citando

horus ha scritto:
In php non c'č nessun problema, quando crei il menu lato server puoi analizzare ad esempio la variabile $_server['SCRIPT_NAME'] e se corrisponde alla voce di menų relativa inserire come suggerito da ioSOLOio e Rebelia la classe apposita per la formattazione grafica.


Mmhhhmmm... provo e vediamo cosa riesco a combinare, al limite vi rompo ancora le scatole. Laughing
Top
Profilo Invia messaggio privato
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 05 Giu 2006 10:22    Oggetto: Rispondi citando

Ho capito... ho bisogno ancora di voi.
Dunque, posto il codice che ho fatto:

stile.css
Codice:

#menu {
   width: 100%;
   margin: 3px auto 3px auto;
   border: none; /*1px solid #2A73F8;*/
   }
   
   #menu ul {
         list-style: none;
         margin: 0px;
         padding: 0px;
         }

         #menu ul li {
        display: inline;
        margin: 0px;
        padding: 12px;
        }
   
      #menu a {
         color: #0292D9;
               font-weight: bold;
               text-decoration: none;
               }

            #menu a:visited {
               color: #056788;
         }

            #menu a:hover {
               color: #FFFFFF;
               background: #7EDAF8;
         }

Questo uno dei file .php:
Codice:

   <div id="esterno">
      <div id="menu">
         <?php include ("menu.txt"); ?>      
      </div>
      <div id="corpo">
         questa č <b>index.php</b>
      </div>
   </div>


Questo č menu.txt:
Codice:

<ul>
<li><a href="index.php">Home</a></li>
<li><a href="utility.php">Utility</a></li>
<li><a href="fotogallery.php">Fotogallery</a></li>
<li><a href="tpr.php">TPR</a></li>
<li><a href="link.php">Links</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
</ul>


Non ho capito cosa inserire e dove... soprattutto per quanto riguarda il php. Se avete tempo... Embarassed
Top
Profilo Invia messaggio privato
rebelia
Dio maturo
Dio maturo


Registrato: 17/07/03 09:22
Messaggi: 7987

MessaggioInviato: 05 Giu 2006 10:35    Oggetto: Rispondi citando

atigra ha scritto:


Questo č menu.txt:
Codice:

<ul>
<li><a href="index.php">Home</a></li>
<li class="attivo"><a href="utility.php">Utility</a></li>
<li><a href="fotogallery.php">Fotogallery</a></li>
<li><a href="tpr.php">TPR</a></li>
<li><a href="link.php">Links</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
</ul>


Codice:

.attivo a {color: #000;}


Wink

edit: pero' non credo tu possa gestire cosi' la cosa, perche' usi il file txt semplicemente come un include percio' lo inserisci uguale in *tutte* le pagine, mentre invece dovresti creare dinamicamente il menu pagina per pagina e nella pagina in uso evidenziare la relativa voce di menu, ma non puoi farlo cosi' come l'hai impostato ora
Top
Profilo Invia messaggio privato HomePage
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 05 Giu 2006 10:44    Oggetto: Rispondi citando

Acc... quindi la cosa come si potrebbe risolvere? Creare un menų dinamicamente non saprei neppure da dove partire... Crying or Very sad
Top
Profilo Invia messaggio privato
rebelia
Dio maturo
Dio maturo


Registrato: 17/07/03 09:22
Messaggi: 7987

MessaggioInviato: 05 Giu 2006 11:29    Oggetto: Rispondi citando

per il php mi sa che devi aspettare che horus passi qua attorno, sorry Embarassed

cmq se hai soltanto le pagine elencate nel file txt rinuncia all'inclusione e inserisci l'elenco in ogni pagina togliendo il tag a alla pagina in cui ti trovi (nella home togli il tag al punto elenco home etc)
Top
Profilo Invia messaggio privato HomePage
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 05 Giu 2006 11:48    Oggetto: Rispondi citando

rebelia ha scritto:
per il php mi sa che devi aspettare che horus passi qua attorno, sorry Embarassed

cmq se hai soltanto le pagine elencate nel file txt rinuncia all'inclusione e inserisci l'elenco in ogni pagina togliendo il tag a alla pagina in cui ti trovi (nella home togli il tag al punto elenco home etc)


Aspetterō HORUS... č anche vero che per poche pagine si puō pensare di fare come dici tu, rinunciando alla comoditā delle inclusioni. Perō io volevo imparare quel sistema cosė si puō applicare sempre e per tutte le pagine, poche o tante che siano. Wink
Top
Profilo Invia messaggio privato
rebelia
Dio maturo
Dio maturo


Registrato: 17/07/03 09:22
Messaggi: 7987

MessaggioInviato: 05 Giu 2006 12:04    Oggetto: Rispondi citando

atigra ha scritto:
Perō io volevo imparare quel sistema cosė si puō applicare sempre e per tutte le pagine, poche o tante che siano. Wink


e fai bene Smile
Top
Profilo Invia messaggio privato HomePage
horus
Macchinista
Macchinista


Registrato: 22/03/05 10:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 05 Giu 2006 12:53    Oggetto: Rispondi citando

Eccomi.

Dunque, se usi un file txt non puoi fare quello che dicevo io. L'idea č rinominare il file in menu.php in modo che venga interpretato e non solo copiato e poi modificarlo in qualcosa tipo:
Codice:
<?php
// definisce l'array di pagine
$pagine = array ('Home' => 'index.php','Utility' => 'utility.php','Fotogallery' => 'fotogallery.php',...);

// inizia l'elenco
echo '<ul>';

// per ogni elemento dell'array di pagine
foreach ($pagine as $text => $link)
{
    // inizia la voce di elenco
   echo '<li';
   
   // se sono nella pagina linkata
   if ($_server['SCRIPT_NAME'] == $link)
   {
      // aggiunge la classe appropriata
       echo ' class="attivo"';
   }
   
   // inserisce link e testo
   echo '><a href="' . $link . '">' . $text . '</a></li>';
}

// chiude l'elenco
echo '</ul>';
?>

Come sempre scrivo di getto senza testare, non garantisco che vada al primo tentativo ma credo sia un buon punto di partenza per i tuoi studi e tentativi.
Top
Profilo Invia messaggio privato
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 05 Giu 2006 13:20    Oggetto: Rispondi citando

Ringrazio tutti per la collaborazione. Vi spiego a che punto sono arrivato con la soluzione di Horus.

Il menų funziona perfettamente, l'unica cosa che non va č proprio la funzione "active".

X Horus: io ho rinominato il file menu.txt in menu.php ed inserito il codice che hai postato tu. Poi ho incluso il file menu.php nelle pagine cosė

Codice:

<?php include ("menu.php"); ?>


Che abbia sbagliato l'inclusione? Question

Meglio se metto tutto il codice delle pagine, che non abbia fatto qualche errore io.

menu.php
Codice:

<?php
// definisce l'array di pagine
$pagine = array ('Home' => 'index.php','Utility' => 'utility.php','Fotogallery' => 'fotogallery.php','TPR' => 'tpr.php', 'Links' => 'link.php', 'Portfolio' => 'portfolio.php');

// inizia l'elenco
echo '<ul>';

// per ogni elemento dell'array di pagine
foreach ($pagine as $text => $link)
{
    // inizia la voce di elenco
   echo '<li';
   
   // se sono nella pagina linkata
   if ($_server['SCRIPT_NAME'] == $link)
   {
      // aggiunge la classe appropriata
       echo ' class="attivo"';
   }
   
   // inserisce link e testo
   echo '><a href="' . $link . '">' . $text . '</a></li>';
}

// chiude l'elenco
echo '</ul>';
?>


stile.css
Codice:

body {
   background: #FFFFFF;
   color: #000000;
   text-align: center;
   font-family: arial, "century gothic", verdana, sans-serif;
   font-size: 80%;
   margin: 0px;
   padding: 0px;
      }

   a {
      color: #0292D9;
      text-decoration: none;
      }

         a:visited {
      color: #056788;
      }

         a:hover {
                color: blue;
      text-decoration: none;
      }


#esterno {
   position: relative; top: 0px;
   height: 100%;
   width: 100%;
   border: none;
   margin: 0px auto 0px auto;
   }

#menu {
   width: 100%;
   margin: 3px auto 3px auto;
   border: none; /*1px solid #2A73F8;*/
   }
   
   #menu ul {
         list-style: none;
         margin: 0px;
         padding: 0px;
         }

         #menu ul li {
        display: inline; /*trasformazione di un elemento blocco in un elemento in linea */
        margin: 0px;
        padding: 12px;
        }
   
      #menu a {
         color: #0292D9;
               font-weight: bold;
               text-decoration: none;
               }

            #menu a:visited {
               color: #056788;
         }

            #menu a:hover {
               color: #FFFFFF;
               background: #7EDAF8;
         }

#corpo {
   height: auto;
   width: 100%;
   position: relative; /*margin: 10px auto 3px auto;*/
   border: none; /*4px solid #06D388;*/
   }

   #corpo a {
              color: #0292D9;
              text-decoration: none;
             }

         #corpo a:visited {
                 color: #056788;
           }

         #corpo a:hover {
                        color: blue;
               text-decoration: none; /*underline;*/
         }

.attivo a {color: #f7f6f5; background: #ff0000;}


le varei pagine (php) hanno:
Codice:

   <div id="esterno">
      <div id="menu">
         <?php include ("menu.php"); ?>      
      </div>
      <div id="corpo">
         questa č <b>index.php</b>
      </div>
   </div>
Top
Profilo Invia messaggio privato
horus
Macchinista
Macchinista


Registrato: 22/03/05 10:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 05 Giu 2006 13:58    Oggetto: Rispondi citando

Puō essere che $_server['SCRIPT_NAME'] non abbia il valore sperato (forse c'č anche la cartella), prova a fare da qualche parte in una pagina php:
Codice:
echo $_server['SCRIPT_NAME'];

e vedi cosa ti scrive, da quello capisci come modificare il controllo
Codice:
if ($_server['SCRIPT_NAME'] == $link)

per farlo funzionare.

Per capire cosa uno script sbaglia č utile anche il risultato html quindi di una tua pagina eventualmente posta anche quello che arriva al client (tasto destro > HTML)
Top
Profilo Invia messaggio privato
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 05 Giu 2006 19:07    Oggetto: Rispondi citando

Perdonami, ma non sono pratico. Comunque ho provato a mettere quel pezzo di codice in una pagina .php, ecco il risultato

Codice:

   <div id="esterno">
      <div id="menu">
         <?php include ("menu.php"); ?>      
      </div>
      <div id="corpo">
         questa č <b>index.php</b><br /><?php echo $_server['SCRIPT_NAME']; ?>
      </div>
   </div>

Questo il link diretto alla pagina come viene vista dall'utente finale. Non mi pare dia errori... Rolling Eyes
Top
Profilo Invia messaggio privato
rebelia
Dio maturo
Dio maturo


Registrato: 17/07/03 09:22
Messaggi: 7987

MessaggioInviato: 05 Giu 2006 19:46    Oggetto: Rispondi citando

non da errori ma in nessun punto del codice e' inserita una classe che ti permetta di formattare il link attivo

Codice:

<div id="menu">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="utility.php">Utility</a></li>
<li><a href="fotogallery.php">Fotogallery</a></li>
<li><a href="tpr.php">TPR</a></li>
<li><a href="link.php">Links</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
</ul>      
</div>


il tuo codice invece dovrebbe essere qualcosa del tipo:

Codice:

<div id="menu">
<ul>
<li><a class="attivo" href="index.php">Home</a></li>
<li><a href="utility.php">Utility</a></li>
<li><a href="fotogallery.php">Fotogallery</a></li>
<li><a href="tpr.php">TPR</a></li>
<li><a href="link.php">Links</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
</ul>      
</div>


oppure:

Codice:

<div id="menu">
<ul>
<li class="attivo"><a href="index.php">Home</a></li>
<li><a href="utility.php">Utility</a></li>
<li><a href="fotogallery.php">Fotogallery</a></li>
<li><a href="tpr.php">TPR</a></li>
<li><a href="link.php">Links</a></li>
<li><a href="portfolio.php">Portfolio</a></li>
</ul>      
</div>
Top
Profilo Invia messaggio privato HomePage
horus
Macchinista
Macchinista


Registrato: 22/03/05 10:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 06 Giu 2006 09:26    Oggetto: Rispondi citando

Credo mi sia scappato un minuscolo di troppo, ho la fobia per quel tipo di carattere, prova a mettere:
Codice:
$_SERVER['SCRIPT_NAME']
Top
Profilo Invia messaggio privato
atigra
Semidio
Semidio


Registrato: 21/09/05 11:14
Messaggi: 249

MessaggioInviato: 06 Giu 2006 12:08    Oggetto: Rispondi citando

Ok, scrivendolo in maiuscolo non risolvo il problema dell'evidenziare la voce del menų, comunque qui vedi cosa mi restituisce scrivendo
Codice:

$_SERVER['SCRIPT_NAME']
Top
Profilo Invia messaggio privato
horus
Macchinista
Macchinista


Registrato: 22/03/05 10:48
Messaggi: 2554
Residenza: Sirio e dintorni

MessaggioInviato: 06 Giu 2006 12:39    Oggetto: Rispondi

OK, ora č giusto ma c'č ancora il path mentre nel menų i link non ce l'hanno, puoi correggere cosė:

Codice:

if (substr($_server['SCRIPT_NAME'],strrpos($_server['SCRIPT_NAME'],'/')+1) == $link)
Top
Profilo Invia messaggio privato
Mostra prima i messaggi di:   
Nuovo argomento   Rispondi    Indice del forum -> Linguaggi per Internet Tutti i fusi orari sono GMT + 2 ore
Vai a 1, 2, 3  Successivo
Pagina 1 di 3

 
Vai a:  
Non puoi inserire nuovi argomenti
Non puoi rispondere a nessun argomento
Non puoi modificare i tuoi messaggi
Non puoi cancellare i tuoi messaggi
Non puoi votare nei sondaggi