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

    [smarty] stamapre un form o un messaggio di benvenuto

    Salve. Sto costruendo un modulo che permetta il log-in, log-out e registrazione degli utenti.

    Il problema è il seguente:
    ho un box nel quale viene mostrato un form per il log-in (se l'utente non è loggato) oppure un messaggio di benvenuto (se l'utente è loggato).
    Per il messaggio di benvenuto non ci sono problemi mentre i problemi ci sono se devo creare il form! Infatti le funzioni che mette a disposizione smarty sono utilizzabili quando si prcessa il template! Ma se io stampo la funzione (es: echo '{html_select_date}'; ) mi viene stampata la stringa, ovviamente.

    La mia domanda è: come faccio a far capire a smarty che deve stampare un form e ad indicargli i relativi campi da stampare?

  2. #2
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Sei sicuro di aver capito come si usa un template?
    Da quello che scrivi si direbbe di no... a che ti servono le echo?

  3. #3
    Un template ho capito a che mi serve però ancora non so bene come gestirlo!

    Per esempio, nel mio caso come faccio?
    Avevo pensato di passare semplicemente una variabile, invece dell'echo che indichi se mostrare il messaggio oppure creare il form. La variabile verrebbe letta da un file .tpl che si occupi di leggere la variabile suddetta e di conseguenza il template includerebbe il file tpl.

    in pratica avrei tre file

    default.php
    (include i file per processare i dati
    include i file del template)
    box.php
    (si occupa di verificare se l'utente è loggato o meno e di passare la relativa variabile)

    box.tpl
    (legge il valore della variabile valorizzata da box.php e stampa il messaggio oppure il form)

    E' giusto come procedimento?

  4. #4
    Io faccio così per gestire il template:

    codice:
    switch ($users->getStatus())
          {
    	     case STATUS_LOGGED:
    		 $usersContent = 'L\'utente è loggato: mostra il messaggio di benvenuto';
    		 break;
    		 
    		 case STATUS_NOT_LOGGED:
    		 $usersContent = "l'utente non è loggato: mostra il form";
    		 break;
    	  }
    
    // Assegno i valori all'array dei box
    $_boxTitle['sx'][] = 'boxMenu';
    $_boxContent['sx'][] = $usersContent;
    Le variabili $_boxTitle['sx'][] e $_boxContent['sx'][] vengono assegnate al template ed interpretate dal file box.tpl

    codice:
    <table width="97%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td width="1%" valign="middle">[img]Themes/html/images/boxTopSX.jpg[/img]</td>
        <td width="98%" height="20" align="left" background="Themes/html/images/boxBorder.jpg">[img]Themes/html/images/{$title} .jpg[/img]</td>
        <td width="1%" valign="middle">[img]Themes/html/images/boxTopDX.jpg[/img]</td>
      </tr>
      <tr align="left">
        <td colspan="3" id="box">{$content} </td>
      </tr>
      <tr>
        <td valign="middle">[img]Themes/html/images/boxBottomSX.jpg[/img]</td>
        <td height="20" align="center" valign="bottom" background="Themes/html/images/boxBorder.jpg">[img]Themes/html/images/boxBottom.jpg[/img]</td>
        <td valign="middle">[img]Themes/html/images/boxBottomDX.jpg[/img]</td>
      </tr>
    </table>

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.