Pagina 1 di 1

TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 11:53
da Sir Xiradorn
La mia domanda è questa. Ho una navbar come in questo forum e da come si evince ci sono dei bottoni per chiamarli così che ci permettono di accedere alle aree di interesse come la HOME o il FORUM o gli STILI.... Questo lo si imposta proprio in questo modo

Codice: Seleziona tutto

<li<!-- IF FORUM_ID == numeroforum --> id="active"<!-- ENDIF -->>
								<a href="link">testo</a>
							</li>
E questo ho capito che in effetti è l'ID del forum che sto considerando. Ora però io mi chiedo come faccio ad impostare condizioni di verifica differenti da queste? Che variabili devo guardare e o prendere in esame per il confronto? Ad esempio se volessi mettere un tasto Staff che si collega proprio al link dello staff e si illumina quando siamo in quella pagina? Cioè devo fare:

Codice: Seleziona tutto

<li<!-- IF condizione --> id="active"<!-- ENDIF -->>
								<a href="http://www.miodominio.dom/forum/memberlist.php?mode=leaders">Staff</a>
							</li>
Ma poi nella condizione non so cosa usare

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 12:02
da Carlo
Non trovo nessuna variabile che viene impostata unicamente in quella pagina.

Prova così. Apri il file memberlist.php, trova:

Codice: Seleziona tutto

// What do you want to do today? ... oops, I think that line is taken ...
switch ($mode)
{
    case 'leaders': 
e aggiungi dopo:

Codice: Seleziona tutto

        $template->assign_vars(array(
            'PAGINA_STAFF' => 1,
        )); 
Così nel template puoi usare questa condizione:

Codice: Seleziona tutto

<!-- IF PAGINA_STAFF == 1 -->quello che vuoi<!-- ENDIF -->

Non l'ho provato, ma forse funziona anche così, applicando queste modifiche:

Codice: Seleziona tutto

        $template->assign_vars(array(
            'PAGINA_STAFF' => true,
        ));  
Così nel template puoi usare questa condizione:

Codice: Seleziona tutto

<!-- IF PAGINA_STAFF === TRUE -->quello che vuoi<!-- ENDIF -->
attenzione ai 3 uguali al posto di 2.

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 12:05
da Sir Xiradorn
Quindi in teoria questo tipo di raggionamento lo potrei fare per le altre pagine giusto? Aprendo e inserendo dei $template->assign_vars(array( al posto giusto?

Per fare dei confronti tipo testo invece? tipo questo?

Codice: Seleziona tutto

$template->assign_vars(array(
                'PAGINA_STAFF' => 'provola',
)); 
E per il profilo anche devo impostare qualcosa o in teoria protrei fare il confrondo usando il {U_PROFILE}?

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 12:13
da Carlo
Sì, è sempre fattibile, usando i due uguali (==). Però non so se dovresti usare le virgolette come nel php, cioè:

Codice: Seleziona tutto

<!-- IF PAGINA_STAFF == 'provola' -->quello che vuoi<!-- ENDIF -->

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 12:33
da Sir Xiradorn
Si funziona perfettamente.....basta solo individuare le aree di interesse e settarle in maniera adeguata. Funziona anche con le parole...solo che in effetti non mi fa il controllo sullo id="active". Come faccio a fare si che ci sia che la il controllo?

Ad esempio ho definito in ucp.php questo

Codice: Seleziona tutto

default:
        /* $default = true; */
        $default = true;
        
        $template->assign_vars(array(
            'PROFILE_PAGE'            => 1,)
        );
    break; 

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 12:35
da Carlo
Scusa, non ho capito...

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 12:45
da Sir Xiradorn
Ho fatto così. Aperto lo ucp.php ho modificato

Codice: Seleziona tutto

    default:
            /* $default = true; */
            $default = true;
            
            $template->assign_vars(array(
                'PROFILE_PAGE'            => 1,)
            );
        break;  
Poi ho impostato una cosa del genere nel template

Codice: Seleziona tutto

<li<!-- IF PAGE_PROFILE == 1 --> id="active"<!-- ENDIF -->>
								<a href="http://dominio.dom/forum/ucp.php">Profilo</a>
							</li>
Ora pero quando ci clicco sopra il link a cui mi porta è giusto ma il bottone sulla barra che mi resta attivo è quello dell'indice contando il fatto che ho impostato anche la parte di negazione in questo modo

Codice: Seleziona tutto

<li<!-- IF not PAGE_PROFILE --> id="active"<!-- ENDIF -->>
								<a href="{U_INDEX}">{L_INDEX}</a>
							</li>
e avevo provato anche con

Codice: Seleziona tutto

<li<!-- IF PAGE_PROFILE != 1 --> id="active"<!-- ENDIF -->>
								<a href="{U_INDEX}">{L_INDEX}</a>
							</li>
mantre vorrei si attivasse proprio il tasto profilo quando sono nella pagina da esso puntata

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 13:07
da Carlo
Vedi che nel template hai usato PAGE_PROFILE, mentre nel file ucp.php hai usato PROFILE_PAGE.

Re: TEMPLATE: Impostare condizioni IF

Inviato: 29/08/2009, 13:45
da Sir Xiradorn
:ugeek: Grazie della correzione...mo fungisce!!!