O que são arquivos .tpl? php, web design

91

Um homem quer que eu redesenhe um site executado em PHP (VideoCMS). Mas quando pedi a ele que me enviasse a fonte, ele me deu arquivos * .tpl em vez de * .php. Há algum código dentro deles:

{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}

ou

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

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

Pergunta: qual é o interpretador do código? Como redesenhar este site?

Dan
fonte

Respostas:

97

Isso parece Smarty para mim. Smarty é um analisador de template escrito em PHP.

Você pode ler sobre como usar o Smarty na documentação .

Se você não pode obter acesso ao código-fonte do CMS: Para ver os modelos em seu navegador, apenas olhe quais variáveis ​​o Smarty está usando e crie um arquivo PHP que preenche as variáveis ​​usadas com dados fictícios.

Se bem me lembro, uma vez que o Smarty esteja configurado, você pode usar:

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

para definir as variáveis.

Chris Clarke
fonte
19
.tplNÃO é apenas a extensão para arquivos smarty. Muitos outros analisadores e, de fato, soluções personalizadas usam. .tplAlém disso, se forem personalizadas, você também pode colocar PHP dentro dos .tplarquivos. OpenCart é um bom exemplo disso e do vBulletin, onde dentro do .tplvocê tem o PHP dentro dele. É por isso que muitos servidores, como o NGINX, vêm pré-construídos para impedir que as pessoas vejam os .tplarquivos.
TheBlackBenzKid
22

Modelos. Acho que essa é a sintaxe do Smarty .

Quentin
fonte
16

.tplé a extensão para arquivos smarty . Significa "modelo".

Dica: se você estiver usando netbeans e quiser um realce de sintaxe correto para esses arquivos:

  • Vá para options/tools
  • Em Miscellaneous, selecione a Filesguia
  • Clique em nova extensão de arquivo e digite tpl.
  • Em Assiciated file Type (MIME), selecioneHTML Files (text/html)
  • Clique ok
Benjamin Crouzier
fonte
4
.tplnão é apenas a extensão para arquivos smarty. Muitos outros analisadores e, de fato, soluções personalizadas usam.tpl
TheBlackBenzKid
12

Número 3 de sucesso no Google por "tpl file"(embora seja um daqueles irritantes "Consertar erros TPL agora", "Verificar arquivos TPL com nosso scanner de vírus", vender-tudo-sob-o-sol-com-anúncios-feios-chamativos -quando-tudo-que-você-queria-era-o-arquivo-descrição sites) é:

Usado por desenvolvimento web PHP e aplicativos web PHP como um arquivo de modelo. Usado principalmente pelo motor de template Smarty. O modelo é um arquivo de texto comum (como o arquivo .html) e contém variáveis ​​definidas pelo usuário que são substituídas pelo conteúdo de saída definido pelo usuário quando o aplicativo da web PHP analisa um arquivo de modelo.

paxdiablo
fonte
1
Na verdade, pesquisar "arquivo tpl" e clicar no terceiro resultado me trouxe a esta pergunta ...
MoralCode
1
Ao responder a uma pergunta, é melhor incluir o link diretamente em vez de depender do SERP do Google, que varia de navegador para navegador, dependendo das configurações do usuário e da localização. Além disso, não há garantia de que o resultado ficará sempre na mesma classificação. Esse post é do ano de 2009, onde como vi isso em 2017. Hoje é de pouca utilidade.
Mohammed Akhtar Zuberi
@Mohammed, não confiei no Google sempre retornando a mesma coisa. O motivo pelo qual copiei o texto nesta resposta é que a resposta ainda seria válida mesmo se o Google desaparecesse da face do planeta.
paxdiablo
6

Os arquivos estão usando algum tipo de mecanismo de modelo no qual as chaves indicam as variáveis ​​que estão sendo geradas por esse mecanismo de modelo, os arquivos que criam essas variáveis ​​devem estar presentes em outro lugar com mais ou menos o mesmo nome do arquivo tpl. Aqui estão alguns dos mecanismos de modelos mais usados.

Smarty

Sábio

Tinybutstrong

etc

Com o smarty sendo amplamente utilizado.

Sarfraz
fonte
3

Esses se parecem com os modelos do Smarty . Deve haver alguns scripts PHP adicionais que realmente instanciam o motor Smarty e fornecem os dados que ele pode usar para os elementos substituíveis.

Paul Dixon
fonte
3

Você tem que aprender a sintaxe do Smarty, que é um sistema de template.

Afridi
fonte
2

.tpl mostra que existe um smarty! O smarty é uma linguagem de template para separar os códigos php dos códigos html. O que nos dá a habilidade de fazer design stuffs em uma página que não está inclusa códigos php.

user2908225
fonte
1

Neste caso específico é o Smarty, mas também podem ser os modelos Jinja2 . Eles geralmente também têm uma extensão .tpl,

Checo R
fonte