什么是.tpl文件?php,网页设计


91

一个男人要我重新设计一个用PHP(VideoCMS)运行的网站。但是,当我要求他向我发送源代码时,他给了我* .tpl文件而不是* .php文件。其中包含一些代码:

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

要么

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

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

问题:代码的解释器是什么?如何重新设计该网站?

Answers:


97

对我来说,这看起来很聪明。Smarty是用PHP编写的模板解析器。

您可以在文档中阅读如何使用Smarty

如果您无法访问CMS的源代码:要在浏览器中查看模板,只需查看Smarty正在使用的变量,然后创建一个PHP文件,该文件将使用伪数据填充已使用的变量。

如果我没记错的话,一旦设置好Smarty,就可以使用:

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

设置变量。


19
.tpl不只是smarty文件的扩展名。还有许多其他解析器,实际上是自定义解决方案.tpl,它们也可以使用。如果自定义,也可以将PHP放在.tpl文件中。OpenCart是vBulletin和vBulletin的一个很好的例子,在其中,.tpl您内部拥有PHP。这就是为什么许多服务器(例如NGINX)是预先构建的,以防止人们查看.tpl文件。
TheBlackBenzKid 2015年


16

.tpl聪明人的扩展文件。它的意思是“模板”。

提示:如果您使用的是netbeans,并且想要为这些文件正确突出显示语法:

  • 转到options/tools
  • 在下Miscellaneous,选择Files标签
  • 单击新文件扩展名,输入tpl
  • 在中Assiciated file Type (MIME),选择HTML Files (text/html)
  • 请点击 ok

4
.tpl不仅是smarty文件的扩展名。其他许多解析器以及实际上是自定义解决方案的使用.tpl
TheBlackBenzKid 2015年

12

在Google上排名第三"tpl file"(尽管它是令人讨厌的“立即修复TPL错误”,“使用我们的病毒扫描程序扫描TPL文件”之一,在阳光下用闪光的丑陋广告向您出售所有产品) -当您要使用所有文件描述站点时)是:

由PHP Web开发和PHP Web应用程序用作模板文件。主要由Smarty模板引擎使用。模板是一个常见的文本文件(如.html文件),包含用户定义的变量,当PHP Web应用程序解析模板文件时,这些变量将由用户定义的输出内容替换。


1
实际搜索“ tpl文件”并单击第三个结果是要把我带到这个问题……
MoralCode

1
回答问题时,最好直接包含链接,而不要依赖于GoogleSERP。GoogleSERP随浏览器的不同而不同,具体取决于用户设置和位置。除此之外,不能保证结果总是相同。这篇文章来自2009年,正如我在2017年所看到的那样。今天它已无用。
Mohammed Akhtar Zuberi

@Mohammed,我不依赖Google总是返回同一件事。我将文字复制到此答案中的全部原因是,即使Google从地球表面消失了,答案也仍然有效。
paxdiablo '17

6

这些文件正在使用某种模板引擎,其中花括号指示该模板引擎正在生成的变量,创建此类变量的文件必须以与tpl文件名大致相同的名称存在于其他位置。以下是一些最常用的模板引擎。

聪明的

萨凡特

Tinybutstrong

等等

随着聪明人被广泛使用。


3

这些看起来像Smarty模板。应该有一些其他的PHP脚本,它们实际上实例化了Smarty引擎,并为它提供了可用于可替换元素的数据。



2

.tpl显示有一个聪明人!smarty是一种模板语言,用于从html代码中分离出php代码。这使我们能够在不包含php代码的页面上进行设计。


1

在这种情况下,是Smarty,但也可以是Jinja2模板。它们通常也带有.tpl扩展名,


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.