Que sont les fichiers .tpl? php, conception de sites Web

92

Un homme veut que je refasse un site en PHP (VideoCMS). Mais quand je lui ai demandé de m'envoyer la source, il m'a donné des fichiers * .tpl au lieu de * .php. Il y a du code à l'intérieur:

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

Question: quel est l'interpréteur du code? Comment refondre ce site?

Dan
la source

Réponses:

98

Cela ressemble à Smarty pour moi. Smarty est un analyseur de modèles écrit en PHP.

Vous pouvez lire comment utiliser Smarty dans la documentation .

Si vous ne pouvez pas accéder à la source du CMS: Pour afficher les modèles dans votre navigateur, regardez simplement les variables que Smarty utilise et créez un fichier PHP qui remplit les variables utilisées avec des données factices.

Si je me souviens bien, une fois Smarty configuré, vous pouvez utiliser:

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

pour définir les variables.

Chris Clarke
la source
19
.tpln'est PAS seulement l'extension des fichiers smarty. De nombreux autres analyseurs et en fait des solutions personnalisées utilisent .tplDe plus, s'ils sont personnalisés, vous pouvez également placer PHP dans les .tplfichiers. OpenCart est un bon exemple de cela et de vBulletin, où à l'intérieur de .tplvous avez PHP à l'intérieur. C'est pourquoi de nombreux serveurs tels que NGINX sont pré-construits pour empêcher les utilisateurs de visualiser les .tplfichiers.
TheBlackBenzKid
23

Modèles. Je pense que c'est la syntaxe Smarty .

Quentin
la source
17

.tplest l'extension des fichiers smarty . Cela signifie «modèle».

Astuce: si vous utilisez netbeans et que vous souhaitez une coloration syntaxique correcte pour ces fichiers:

  • Aller à options/tools
  • Sous Miscellaneous, sélectionnez l' Filesonglet
  • Cliquez sur nouvelle extension de fichier, entrez tpl.
  • Dans Assiciated file Type (MIME), sélectionnezHTML Files (text/html)
  • Cliquez sur ok
Benjamin Crouzier
la source
4
.tpln'est pas seulement l'extension des fichiers smarty. De nombreux autres analyseurs et en fait des solutions personnalisées utilisent.tpl
TheBlackBenzKid
13

Le numéro 3 a frappé Google pour "tpl file"(même si c'est l'une de ces ennuyeuses "Corriger les erreurs TPL maintenant", "Analyser les fichiers TPL avec notre antivirus", vendez-vous-tout-sous-le-soleil-avec-des-publicités-flashy-laides -when-all-you-wanted-was-the-file-description sites) est:

Utilisé par le développement Web PHP et les applications Web PHP comme fichier de modèle. Principalement utilisé par le moteur de modèle Smarty. Le modèle est un fichier texte commun (comme un fichier .html) et contient des variables définies par l'utilisateur qui sont remplacées par un contenu de sortie défini par l'utilisateur lorsque l'application Web PHP analyse un fichier de modèle.

paxdiablo
la source
1
en recherchant réellement "fichier tpl" et en cliquant sur le troisième résultat, je veux m'amener à cette question ...
MoralCode
1
Lorsque vous répondez à une question, il est préférable d'inclure le lien directement au lieu de compter sur Google SERP, qui varie d'un navigateur à l'autre en fonction des paramètres de l'utilisateur et de l'emplacement. En plus de cela, il n'est pas garanti que le résultat sera toujours au même rang. Ce billet date de l'année 2009, où comme je l'ai vu en 2017. Aujourd'hui, il est de peu d'utilité.
Mohammed Akhtar Zuberi
@Mohammed, je ne comptais pas sur Google pour toujours renvoyer la même chose. La raison pour laquelle j'ai copié le texte dans cette réponse est pour que la réponse soit toujours valable même si Google disparaissait de la surface de la planète.
paxdiablo
6

Les fichiers utilisent une sorte de moteur de modèle dans lequel des accolades indiquent des variables générées par ce moteur de modèle, les fichiers créant de telles variables doivent être présents ailleurs avec le même nom que le nom de fichier tpl. Voici quelques-uns des moteurs de modèles les plus utilisés.

Smarty

Savant

Tinybutstrong

etc

Smarty étant largement utilisé.

Sarfraz
la source
3

Ceux-ci ressemblent à des modèles Smarty . Il devrait y avoir des scripts PHP supplémentaires qui instancient réellement le moteur Smarty et lui donnent les données qu'il peut utiliser pour les éléments remplaçables.

Paul Dixon
la source
3

Vous devez apprendre la syntaxe Smarty, c'est un système de modèle.

Afridi
la source
2

.tpl montre qu'il y a un smarty! smarty est un langage de modèle pour séparer les codes php des codes html. Ce qui nous donne la possibilité de créer des éléments de conception sur une page qui ne contient pas de codes php.

user2908225
la source
1

Dans ce cas précis, il s'agit de Smarty, mais il pourrait également s'agir de modèles Jinja2 . Ils ont généralement également une extension .tpl,

Checo R
la source