0

我在 Smarty 方面没有经验,我试图.tpl从非制造的软件中修改文件,我只是将{php} {/php}标签添加到一个.tpl文件中,其中根本没有代码,它的输出似乎是一个空白页。首先,我有一些代码,但它正在输出一个空白页面,所以我开始删除行,现在{php} {/php}标签内根本没有行,但它会这样做。我在这里做错了什么?

4

2 回答 2

1

您使用的是哪个版本的 Smarty?PHP 标记在不久前被弃用,从 3.1 开始。只能与向后兼容包装器一起使用。

http://www.smarty.net/docs/en/language.function.php.tpl

如果可能的话,最好将你的 php 保存在一个单独的类或控制器中(这样其他模板也可以访问它),但如果你真的需要在页面上包含它,只需包含 smartybc 类,正如它所说的:http ://www.smarty.net/docs/en/bc.tpl

<?php
// instead of
require_once('path/to/smarty/libs/Smarty.class.php');
$smarty = new Smarty();

// use 
require_once('path/to/smarty/libs/SmartyBC.class.php');
$smarty = new SmartyBC();
?>

此外,如果您想查看 PHP 错误(当出现问题时您只是得到一个空白页面,这真的很烦人,这使得调试变得困难)您可以通过转到 config/config.inc.php 并找到以下行并将第一个的“off”更改为“on”,并将第二个设置为true

/* Debug only */
@ini_set('display_errors', 'on');
define('_PS_DEBUG_SQL_', true);

这应该会为您显示 PHP 和 SQL 错误。

于 2013-11-09T12:16:06.910 回答
0

您不应该使用 {php} 标签,因为它们在Smarty 文档中被描述为已弃用。如果您想运行一些代码,请尝试按照此处所述为 smarty 准备插件。

于 2013-11-09T12:18:34.157 回答