Smarty模板目录 - 映射包括在不同文件夹中调用模板的路径

时间:2017-07-07 14:32:02

标签: php smarty

是否可以覆盖

{include file='fake/path/to/template.tpl'}

去实际将模板包含在不同的文件夹中?

real/path/to/template.tpl

我问这个是因为我们最近将代码的一些部分(插件)移到了供应商文件夹中,我们正在尝试找到一个简单的解决方案,而无需更改每个智能文件。 (有数百个)

PS。如果我们可以避免使用符号链接,那就太棒了!

1 个答案:

答案 0 :(得分:1)

您可以编写一个带字符串(伪网址)并输出字符串(真实网址)的函数。

function getRealURL($tpl_filename) {
    $path = '../real/path/to/';
    if(file_exists($path.$ui_view)) {
        return $ui_view;
    }
    return $tpl_filename;
}

我正在使用与其他因素类似的功能,但这是它的基础,并通过一些验证新文件与给定路径一起存在。它还可以轻松地与特定目录中的文件白名单一起使用。

我相信你可以这样称呼它。     {include file ='fake / path / to / template.tpl'| getRealURL}