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

Posted

技术标签:

【中文标题】什么是 .tpl 文件? PHP,网页设计【英文标题】:What are .tpl files? PHP, web design 【发布时间】:2010-12-20 23:11:47 【问题描述】:

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

include file='header.tpl' p="article"

<br />
<table  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td  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

代码的解释器是什么?我该如何重新设计这个网站?

【问题讨论】:

【参考方案1】:

在我看来,这很聪明。 Smarty 是一个用 PHP 编写的模板解析器。

您可以在documentation 中了解如何使用Smarty。

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

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

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

设置变量。

【讨论】:

.tpl 不仅是 smarty 文件的扩展名。许多其他解析器和实际上自定义解决方案使用.tpl 此外,如果自定义,您也可以将 PHP 放在 .tpl 文件中。 OpenCart 和 vBulletin 就是一个很好的例子,在 .tpl 里面你有 PHP。这就是为什么 nginx 等许多服务器都预先构建了阻止人们查看 .tpl 文件的原因。【参考方案2】:

模板。我认为这是Smarty 语法。

【讨论】:

【参考方案3】:

.tpl 是Smarty 文件的扩展名。它的意思是“模板”。

提示:如果您使用的是NetBeans,并且您希望这些文件的语法高亮显示正确:

进入菜单选项工具杂项下,选择文件选项卡 点击新建文件扩展名,输入tpl。 在关联文件类型 (MIME) 中,选择 html 文件 (text/html) 点击确定

【讨论】:

.tpl 不仅是 smarty 文件的扩展名。许多其他解析器和事实上的自定义解决方案使用.tpl【参考方案4】:

"tpl file" 在 Google 上排名第三(尽管它是那些令人讨厌的“立即修复 TPL 错误”、“使用我们的病毒扫描程序扫描 TPL 文件”、向您推销一切-fashy-ugly-ads-when-all-you-wanted-was-the-file-description sites)是:

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

【讨论】:

实际搜索“tpl 文件”并点击第三个结果是想让我想到这个问题... 回答问题时,最好直接包含链接,而不是依赖谷歌 SERP,谷歌 SERP 因浏览器而异,具体取决于用户设置和位置。除此之外,不保证结果将始终处于同一排名。这篇文章是 2009 年的,正如我在 2017 年看到的那样。今天它用处不大。 @Mohammed,我并不依赖谷歌总是返回同样的东西。我将文本复制到此答案中的全部原因是,即使 Google 从地球上消失,答案仍然有效。【参考方案5】:

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

聪明的

文人

小而强

随着 smarty 的广泛使用。

【讨论】:

【参考方案6】:

那些看起来像Smarty 模板。应该有一些额外的 PHP 脚本实际实例化 Smarty 引擎并为其提供可用于可替换元素的数据。

【讨论】:

【参考方案7】:

你必须学习 Smarty 语法。那是一个模板系统。

【讨论】:

【参考方案8】:

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

【讨论】:

【参考方案9】:

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

【讨论】:

【参考方案10】:

.tpl 的其他可能性:HTML::SimpleTemplate,例如:

Hello $name

和Template Toolkit,例如:

Hello [% world %]!

【讨论】:

以上是关于什么是 .tpl 文件? PHP,网页设计的主要内容,如果未能解决你的问题,请参考以下文章

TPL 数据流:在保持秩序的同时进行并行设计

在 Smarty tpl 文件中使用 PHP 代码

TPL 数据流是不是适用于这种设计类型?

使用 drupal 7 翻译 node.tpl.php 文件中的字段

TPL 和模拟

PHP 轻松调试变量,以查找tpl.php文件中可用的变量