【发布时间】:2018-10-09 11:57:45
【问题描述】:
我有一个几乎完成的小型学校项目。但现在我必须更改我的工作代码并改用模板。我选择了Smarty。 表格显示来自表单的数据。数据存储在文本文件中,每个元素都在新行上。以前一切正常,但现在我不知道如何显示我的表格。使用我当前的代码,我的页面变成白色。 我调试它并得到一个错误“已弃用,使用 SmartyBC 类启用”。我尝试设置新的 smarty,我也尝试使用模板功能(插件)但我仍然得到白页。任何建议,将不胜感激! 我的 table.php 代码:($items 函数从文件中读取)
<?php
$count = 0;
if (isset($Items)){
foreach ($Items as $item) {
if($count == 0){
print "<tr><td>$item</td>";
$count += 1;
} else if($count == 1) {
print "<td>$item</td>";
$count +=1;
} else if($count == 2) {
print"<td>$item</td></tr>";
$count = 0;
}
}
}
tpl 文件
<table>
<tr>
<th>Name</th>
<th>Lastname</th>
<th>Phone</th>
</tr>
{include_php file='table.php'}
</table>
编辑: 我用 $smarty = new SmartyBC();并更改为 {php} 标签。它不再显示白屏,但 table.php 代码不起作用 - 表格不显示。
有没有更聪明的方法来做到这一点?除了包括 php 文件? 编辑:我通过在 tpl 中使用 foreach 循环让它工作,但我想知道这是否是正确的方法?
【问题讨论】:
-
白页通常意味着您有内部服务器错误。你检查过你的错误日志吗?一个好主意是在本地 PHP 环境中打开
display_errors。在此处阅读更多信息:How do I get PHP errors to display?。您根本无法在 smarty 模板中执行 PHP 代码(即使您包含它)。 -
@MagnusEriksson 我使用 display_errors 修复了一些其他问题,谢谢。你对我应该如何处理这个问题有任何其他想法吗?感谢您的意见