使用条件语句时得到空白输出
Getting a blank output when using conditional statement
我正在尝试使用名为 name
的变量通过 smarty 运行 条件语句,但是当 php 文件为 运行 时没有任何显示。我是 smarty
的新手。我可能犯了什么错误?
Test.php
<?php
require_once('./libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->assign('title','Title of the page');
$smarty->assign('hello','Text displayed from smarty!!');
$smarty->assign('name','is smarty');
$smarty->display('./template/template.tpl');
?>
Template.tpl
<html>
<head>
<title> {$title} </title>
</head>
<body>
{$hello}
{if $name eq "smarty"}
<span> The name is : smarty</span>
{/elseif $name eq "is smarty"}
<span> The name is : is smarty</span>
</body>
在模板中分配变量本质上是将应用程序逻辑放入可能在 PHP 中更好地处理的表示中。
$smarty->assign('name', 'is smarty');
在smarty对象中赋值的变量只能在模板中获取。
如果您只给出 $name = '' 则特定变量不会分配给 smarty 模板。
所以请在逻辑中分配变量并在表示中获取值
并确保在 smarty 模板页面中使用 {elseif} 而不是 {/elseif} 并关闭 {/if} 语句
在你的 .tpl 文件中使用类似这样的条件
{if $name eq "smarty"}
<span> The name is : smarty</span>
{elseif $name eq "is smarty"}
<span> The name is : is smarty</span>
{else}
Welcome, whatever you are.
{/if}
在 Smarty 中阅读更多关于 if else 的内容 click here
您忘记关闭模板中的 {if}
块:
<html>
<head>
<title> {$title} </title>
</head>
<body>
{$hello}
{if $name eq "smarty"}
<span> The name is : smarty</span>
{/elseif $name eq "is smarty"}
<span> The name is : is smarty</span>
{/if} {* <------ here ---- *}
</body>
当没有显示任何内容时,您可以在调用 display()
之前通过设置 $smarty->error_reporting
to E_ALL & ~E_NOTICE
来调试模板。
我正在尝试使用名为 name
的变量通过 smarty 运行 条件语句,但是当 php 文件为 运行 时没有任何显示。我是 smarty
的新手。我可能犯了什么错误?
Test.php
<?php
require_once('./libs/Smarty.class.php');
$smarty = new Smarty();
$smarty->assign('title','Title of the page');
$smarty->assign('hello','Text displayed from smarty!!');
$smarty->assign('name','is smarty');
$smarty->display('./template/template.tpl');
?>
Template.tpl
<html>
<head>
<title> {$title} </title>
</head>
<body>
{$hello}
{if $name eq "smarty"}
<span> The name is : smarty</span>
{/elseif $name eq "is smarty"}
<span> The name is : is smarty</span>
</body>
在模板中分配变量本质上是将应用程序逻辑放入可能在 PHP 中更好地处理的表示中。
$smarty->assign('name', 'is smarty');
在smarty对象中赋值的变量只能在模板中获取。
如果您只给出 $name = '' 则特定变量不会分配给 smarty 模板。
所以请在逻辑中分配变量并在表示中获取值
并确保在 smarty 模板页面中使用 {elseif} 而不是 {/elseif} 并关闭 {/if} 语句
在你的 .tpl 文件中使用类似这样的条件
{if $name eq "smarty"}
<span> The name is : smarty</span>
{elseif $name eq "is smarty"}
<span> The name is : is smarty</span>
{else}
Welcome, whatever you are.
{/if}
在 Smarty 中阅读更多关于 if else 的内容 click here
您忘记关闭模板中的 {if}
块:
<html>
<head>
<title> {$title} </title>
</head>
<body>
{$hello}
{if $name eq "smarty"}
<span> The name is : smarty</span>
{/elseif $name eq "is smarty"}
<span> The name is : is smarty</span>
{/if} {* <------ here ---- *}
</body>
当没有显示任何内容时,您可以在调用 display()
之前通过设置 $smarty->error_reporting
to E_ALL & ~E_NOTICE
来调试模板。