在smarty中使用{php}标签输出一个空白页面

时间:2013-11-09 11:32:06

标签: php smarty

我没有使用Smarty的经验,我试图从非制作的软件修改.tpl文件,我只是在{php} {/php}文件中添加.tpl标签而没有他们内部的代码,其输出似乎是一个空白页。首先我有一些代码,但它输出了一个空白页面,所以我开始删除行,现在{php} {/php}标签内部根本没有行,但它确实有这种行为。我在这里做错了什么?

2 个答案:

答案 0 :(得分: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并查找以下行并更改&#39; off&#39;到&#39;在&#39;对于第一个

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

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

答案 1 :(得分:0)

您不应该使用{php}标记,因为它们在Smarty docs中被描述为已弃用。 如果您想要运行某些代码,请尝试按照here所述为smarty准备插件。