2009-11-27 5 views
69

Un uomo mi chiede di riprogettare un sito eseguito in PHP (VideoCMS). Ma quando gli ho chiesto di mandarmi la fonte, mi ha dato file * .tpl invece di * .php. V'è un codice al loro interno:Che cosa sono i file .tpl? php, web design

{include file='header.tpl' p="article"} 

<br /> 
<table width="886" border="0" cellspacing="0" cellpadding="0"> 
    <tr> 
    <td width="150" valign="top"> 
    <div id="reg_box"> 
    <h3 class="captions">{$lang.articles}</h3> 
     <div id="list_cats"> 
     <ul> 
      {$article_categories} 
     </ul> 
     </div> 
    </div> 
    <br /> 
    <div id="reg_box"> 
    <h3 class="captions">{$lang.members}</h3> 
    {if $logged_in == '1'} 
    {include file='loggedin_body.tpl'} 
    {else} 
    {include file='login_body.tpl'} 
    {/if} 

o

{include file='header.tpl' p="index"} 

{php} $_SESSION['isFair'] = "Yes"; {/php} 

Domanda: qual è l'interprete del codice? Come ridisegnare questo sito?

risposta

76

Mi sembra Smarty. Smarty è un parser modello scritto in PHP.

È possibile leggere su come utilizzare Smarty nel documentation.

Se non è possibile accedere all'origine del CMS: Per visualizzare i modelli nel browser, osservare le variabili utilizzate da Smarty e creare un file PHP che compila le variabili utilizzate con dati fittizi.

se non ricordo male, una volta Smarty è impostato, è possibile utilizzare:

$smarty->assign('nameofvar', 'some data'); 

per impostare le variabili.

+8

'.tpl' NON è solo l'estensione per i file smarty. Molti altri parser e in effetti le soluzioni personalizzate usano '.tpl' Inoltre, se personalizzato, puoi inserire PHP anche nei file' .tpl'. OpenCart è un buon esempio di questo e di vBulletin, dove all'interno di '.tpl' hai PHP al suo interno. Questo è il motivo per cui molti server come NGINX vengono pre-compilati impedendo agli utenti di visualizzare i file '.tpl'. – TheBlackBenzKid

3

Questi sembrano modelli Smarty. Dovrebbero esserci degli script PHP aggiuntivi che effettivamente istanziano il motore Smarty e gli danno i dati che possono usare per gli elementi sostituibili.

11

Numero 3 hit su Google per "tpl file" (anche se è uno di quei fastidiosi "Correggere gli errori TPL ora", "File Scan TPL con i nostri scanner antivirus", è-tutto-in-the-sun-con- sell- flashy-brutto-annunci-quando-tutto-si-voluto-era-il-file-descrizione siti) è:

Utilizzato dallo sviluppo web PHP e dalle applicazioni Web PHP come file modello. Utilizzato principalmente dal motore di template Smarty. Il modello è un file di testo comune (come il file .html) e contiene variabili definite dall'utente che vengono sostituite dal contenuto di output definito dall'utente quando l'applicazione Web PHP analizza un file modello.

+1

effettivamente cercando "file tpl" e facendo clic sul terzo risultato è necessario portarmi a questa domanda ... – DeveloperACE

+0

Quando si risponde a una domanda, è meglio includere il collegamento direttamente invece di fare affidamento su Google SERP, che varia dal browser al browser in base alle impostazioni dell'utente e alla posizione. Oltre a questo, non è garantito che il risultato sarà sempre sullo stesso rango. Questo post è dell'anno 2009, dove ho visto questo nel 2017. Oggi è poco utile. –

+0

@Mohammed, non mi fido di Google che restituisce sempre la stessa cosa. L'intera ragione per cui copio il testo in questa risposta è che la risposta sarebbe ancora valida anche se Google scomparisse dalla faccia del pianeta. – paxdiablo

4

I file utilizzano una sorta di motore di template in cui le parentesi graffe indicano le variabili generate da quel motore di template, i file che creano tali variabili devono essere presenti altrove con lo stesso nome del file tpl. Qui ci sono alcuni dei template engine per lo più usati.

Smarty

Savant

Tinybutstrong

ecc

Con Smarty ampiamente utilizzato.

3

Devi imparare la sintassi di Smarty, questo è un sistema di template.

13

.tpl è l'estensione per i file smarty. Significa "modello".

Suggerimento: se si sta utilizzando NetBeans e si desidera una sintassi corretta che evidenzia per i file:

  • Vai a options/tools
  • Sotto Miscellaneous, selezionare Files scheda
  • Clicca estensione nuovo file, immettere tpl.
  • In Assiciated file Type (MIME), selezionare HTML Files (text/html)
  • Clicca ok
+2

'.tpl' non è solo l'estensione per i file smarty. Molti altri parser e in effetti le soluzioni personalizzate usano '.tpl' – TheBlackBenzKid

2

.tpl mostra c'è uno smarty! smarty è un linguaggio modello per dividere i codici php dai codici html. Il che ci dà la possibilità di fare cose di design su una pagina che non include i codici php.