Cosa sono i file .tpl? php, web design


92

Un uomo vuole che riprogetti un sito gestito in PHP (VideoCMS). Ma quando gli ho chiesto di inviarmi la fonte, mi ha fornito i file * .tpl invece di * .php. C'è del codice al loro interno:

{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 riprogettare questo sito?

Risposte:


98

A me sembra Smarty. Smarty è un parser di template scritto in PHP.

Puoi leggere come utilizzare Smarty nella documentazione .

Se non riesci ad accedere ai sorgenti del CMS: per visualizzare i modelli nel tuo browser, guarda le variabili che Smarty sta usando e crea un file PHP che popoli le variabili usate con dati fittizi.

Se ricordo bene, una volta configurato Smarty, puoi utilizzare:

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

per impostare le variabili.


19
.tplNON è solo l'estensione per i file smarty. Molti altri parser e infatti soluzioni personalizzate utilizzano. .tplInoltre, se personalizzato, è possibile inserire anche PHP all'interno dei .tplfile. OpenCart è un buon esempio di questo e vBulletin, dove dentro .tplc'è PHP al suo interno. Questo è il motivo per cui molti server come NGINX sono preconfigurati per impedire alle persone di visualizzare i .tplfile.
TheBlackBenzKid


17

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

Suggerimento: se stai usando netbeans e desideri un'evidenziazione della sintassi corretta per quei file:

  • Vai a options/tools
  • In Miscellaneous, seleziona la Filesscheda
  • Fare clic su nuova estensione di file, immettere tpl.
  • In Assiciated file Type (MIME), selezionaHTML Files (text/html)
  • Clic ok

4
.tplnon è solo l'estensione per i file smarty. Molti altri parser e in effetti soluzioni personalizzate utilizzano.tpl
TheBlackBenzKid

13

Numero 3 su Google per "tpl file"(anche se è uno di quei fastidiosi "Correggi gli errori TPL ora", "Scansiona i file TPL con il nostro antivirus", vendi-tutto-sotto-sole-con-brutti-annunci -when-all-you-wanted-was-the-file-description sites) è:

Utilizzato dallo sviluppo Web PHP e dalle applicazioni Web PHP come file modello. Utilizzato principalmente dal motore di modelli 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 cliccando sul terzo risultato che voglio mi ha portato a questa domanda ...
MoralCode

1
Quando si risponde a una domanda, è meglio includere il collegamento direttamente invece di fare affidamento su Google SERP, che varia da browser a browser a seconda delle impostazioni dell'utente e anche della posizione. Oltre a questo, non è garantito che il risultato sarà sempre nella stessa posizione. Questo post è dell'anno 2009, dove ho visto questo nel 2017. Oggi è di scarsa utilità.
Mohammed Akhtar Zuberi

@ Mohammed, non ho fatto affidamento sul fatto che Google restituisse 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

6

I file utilizzano una sorta di motore di modelli in cui le parentesi graffe indicano le variabili generate da quel motore di modelli, i file che creano tali variabili devono essere presenti altrove con il nome più o meno uguale al nome del file tpl. Ecco alcuni dei motori di modelli maggiormente utilizzati.

Smarty

Savant

Minuscolo ma forte

eccetera

Con smarty ampiamente utilizzato.


3

Quelli sembrano modelli Smarty . Dovrebbero esserci alcuni script PHP aggiuntivi che effettivamente istanziano il motore Smarty e gli danno i dati che può utilizzare per gli elementi sostituibili.


3

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


2

.tpl mostra che c'è un intelligente! smarty è un linguaggio per modelli per separare i codici php dai codici html. Il che ci dà la possibilità di fare cose di design su una pagina che non è inclusa nei codici php.


1

In questo caso specifico è Smarty, ma potrebbero essere anche i template Jinja2 . Di solito hanno anche un'estensione .tpl,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.