Was sind .tpl-Dateien? PHP, Webdesign

91

Ein Mann möchte, dass ich eine in PHP (VideoCMS) ausgeführte Site neu gestalte. Aber als ich ihn bat, mir die Quelle zu schicken, hat er mir * .tpl-Dateien anstelle von * .php gegeben. In ihnen steckt Code:

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

oder

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

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

Frage: Was ist der Interpreter des Codes? Wie gestalte ich diese Seite neu?

Dan
quelle

Antworten:

97

Das sieht für mich nach Smarty aus. Smarty ist ein in PHP geschriebener Template-Parser.

Informationen zur Verwendung von Smarty finden Sie in der Dokumentation .

Wenn Sie keinen Zugriff auf die CMS-Quelle erhalten: Um die Vorlagen in Ihrem Browser anzuzeigen, sehen Sie sich einfach die von Smarty verwendeten Variablen an und erstellen Sie eine PHP-Datei, in der die verwendeten Variablen mit Dummy-Daten gefüllt werden.

Wenn ich mich richtig erinnere, können Sie nach dem Einrichten von Smarty Folgendes verwenden:

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

um die Variablen zu setzen.

Chris Clarke
quelle
19
.tplist NICHT nur die Erweiterung für Smarty-Dateien. Viele andere Parser und in der Tat benutzerdefinierte Lösungen verwenden .tplAuch wenn benutzerdefiniert, können Sie PHP auch in den .tplDateien platzieren. OpenCart ist ein gutes Beispiel dafür und vBulletin, in dem .tplsich PHP befindet. Aus diesem Grund sind viele Server wie NGINX vorgefertigt, um zu verhindern, dass Benutzer die .tplDateien anzeigen.
TheBlackBenzKid
22

Vorlagen. Ich denke, das ist Smarty- Syntax.

QUentin
quelle
16

.tplist die Erweiterung für Smarty- Dateien. Es bedeutet "Vorlage".

Tipp: Wenn Sie Netbeans verwenden und eine korrekte Syntaxhervorhebung für diese Dateien wünschen:

  • Gehe zu options/tools
  • Unter MiscellaneousWählen Sie FilesRegisterkarte
  • Klicken Sie auf Neue Dateierweiterung und geben Sie ein tpl.
  • In Assiciated file Type (MIME)WählenHTML Files (text/html)
  • Klicken ok
Benjamin Crouzier
quelle
4
.tplist nicht nur die Erweiterung für Smarty-Dateien. Viele andere Parser und in der Tat benutzerdefinierte Lösungen verwenden.tpl
TheBlackBenzKid
12

Nummer 3 bei Google für "tpl file"(obwohl es eine dieser nervigen "TPL-Fehler jetzt beheben", "TPL-Dateien mit unserem Virenscanner scannen" ist, die Ihnen alles unter der Sonne mit auffälligen, hässlichen Anzeigen verkaufen -wenn-alles-was-du-wolltest-war-die-Datei-Beschreibung Websites) ist:

Wird von der PHP-Webentwicklung und PHP-Webanwendungen als Vorlagendatei verwendet. Wird hauptsächlich von der Smarty Template Engine verwendet. Vorlage ist eine allgemeine Textdatei (wie eine HTML-Datei) und enthält benutzerdefinierte Variablen, die beim Parsen einer Vorlagendatei durch PHP-Webanwendungen durch benutzerdefinierte Ausgabeinhalte ersetzt werden.

paxdiablo
quelle
1
Wenn ich tatsächlich nach "tpl file" suche und auf das dritte Ergebnis klicke, möchte ich zu dieser Frage kommen ...
MoralCode
1
Bei der Beantwortung einer Frage ist es besser, den Link direkt einzuschließen, als sich auf Google SERP zu verlassen, das je nach Benutzereinstellungen und Standort von Browser zu Browser unterschiedlich ist. Darüber hinaus kann nicht garantiert werden, dass das Ergebnis immer auf dem gleichen Rang liegt. Dieser Beitrag stammt aus dem Jahr 2009, wo ich ihn 2017 gesehen habe. Heute nützt er wenig.
Mohammed Akhtar Zuberi
@Mohammed, ich habe mich nicht darauf verlassen, dass Google immer das Gleiche zurückgibt. Der ganze Grund für mich, den Text in diese Antwort zu kopieren, ist, dass die Antwort auch dann noch gültig ist, wenn Google vom Planeten verschwunden ist.
Paxdiablo
6

Die Dateien verwenden eine Art Template-Engine, in der geschweifte Klammern Variablen anzeigen, die von dieser Template-Engine generiert werden. Die Dateien, die solche Variablen erstellen, müssen an anderer Stelle mit dem mehr oder weniger gleichen Namen wie der Name der tpl-Datei vorhanden sein. Hier sind einige der am häufigsten verwendeten Vorlagen-Engines.

Smarty

Gelehrter

Tinybutstrong

etc

Mit Smarty weit verbreitet.

Sarfraz
quelle
3

Diese sehen aus wie Smarty- Vorlagen. Es sollte einige zusätzliche PHP-Skripte geben, die die Smarty-Engine tatsächlich instanziieren und ihr die Daten geben, die sie für die austauschbaren Elemente verwenden kann.

Paul Dixon
quelle
3

Sie müssen die Smarty-Syntax lernen, das ist ein Vorlagensystem.

Afridi
quelle
2

.tpl zeigt, dass es einen Smarty gibt! smarty ist eine Vorlagensprache, um PHP-Codes von HTML-Codes zu trennen. Dies gibt uns die Möglichkeit, Dinge auf einer Seite zu entwerfen, die keine PHP-Codes enthält.

user2908225
quelle
1

In diesem speziellen Fall handelt es sich um Smarty, es können jedoch auch Jinja2- Vorlagen sein. Sie haben normalerweise auch eine .tpl-Erweiterung,

Checo R.
quelle