今天学习使用了include_php来在模版页中调用PHP文件,但是有一个 问题 。
当使用 {include_php file='***.php'}的 时候使用 正常 。
但是 我 把需要载入的 PHP文件放在 一个 变量中以后,却不会随着 变量的改变而更换加载的 PHP文件。大体上是 这样写的 。在php页中
<?php
.....
$act = $_GET['act'];
$phpfile = '';
switch($act)
{
case a:
$phpfile = 'a.php';
break;
case b:
$phpfile = 'b.php';
break;
defult:
$phpfile = 'c.php';
}
$smarty->assign('phpfile','$phpfile');
$smarty->display('abc.tpl');
?>
然后模版大概是 这样 :
......
{if $phpfile != ''}
{include_php file=$phpfile}
{/if}
.....
奇怪的是为什么这样做以后include_php始终加载的 是 默认 页,我尝试在if中输出$phpfile的值,结果发现在模版页中这个$phpfile变量的值确实是正常 的 。
希望有人能给我解答啊,我现在宿舍里都不能 上网了!,我在线等
当使用 {include_php file='***.php'}的 时候使用 正常 。
但是 我 把需要载入的 PHP文件放在 一个 变量中以后,却不会随着 变量的改变而更换加载的 PHP文件。大体上是 这样写的 。在php页中
<?php
.....
$act = $_GET['act'];
$phpfile = '';
switch($act)
{
case a:
$phpfile = 'a.php';
break;
case b:
$phpfile = 'b.php';
break;
defult:
$phpfile = 'c.php';
}
$smarty->assign('phpfile','$phpfile');
$smarty->display('abc.tpl');
?>
然后模版大概是 这样 :
......
{if $phpfile != ''}
{include_php file=$phpfile}
{/if}
.....
奇怪的是为什么这样做以后include_php始终加载的 是 默认 页,我尝试在if中输出$phpfile的值,结果发现在模版页中这个$phpfile变量的值确实是正常 的 。
希望有人能给我解答啊,我现在宿舍里都不能 上网了!,我在线等
switch($act){
case 'a':
$phpfile = 'a.php';
break;
case 'b':
$phpfile = 'b.php';
break;
defult:
$phpfile = 'c.php';
}
我 后来把这个模版页的 代码改成下面这样 ,结果 显示正常 。
{if $phpfile == 'a'}
{include_php file='a.php'}
{elseif $phpfile == 'b'}
{include_php file = 'b.php'}
{elseif $phpfile=='c.php'}
{include_php file = 'c.php'}
{/if}
$smarty->assign('phpfile', $phpfile);
在他之前輸出$phpfile看看是否有值...
$phpfile = 'a.php';
break;
case 'b':
$phpfile = 'b.php';
$smarty->assign('phpfile','$phpfile');
//这里应该上双引号或不要引号!!