通过使用下面的php代码,我可以获取当前的url并执行解析并获得string.But的一部分,这段代码在我的智能模板file.The智能代码中是不支持的,我已经转换的file.The智能代码不能正常工作。
php代码:
<?php
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url_path=$url;
$parsed = parse_url($url);
$path = explode('/', $parsed['path']);
$resulturl = $parsed['scheme'] . '//' . $parsed['host'] .'/'. $path[1] . '/';
$outurl = $path[1];
?>
if ($outurl == "album") {
<h6>Sample text one </h6>
}
else
{
<h6>Sample text two </h6>
}智能代码:
{php}
$url={$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}
$url_path=$url;
$parsed = parse_url($url);
$path = explode('/', $parsed['path']);
$resulturl = $parsed['scheme'] . '//' . $parsed['host'] .'/'. $path[1] . '/';
$outurl = $path[1];
{/php}
{if $outurl == 'album'}
<h6>Sample text one </h6>
{else}
<h6>Sample text two </h6>
{/if}发布于 2014-06-19 10:37:19
你做错了。Smarty用于将PHP操作从显示中分离出来。你应该做的事情很简单:
PHP文件:
<?php
$url="http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$url_path=$url;
$parsed = parse_url($url);
$path = explode('/', $parsed['path']);
$resulturl = $parsed['scheme'] . '//' . $parsed['host'] .'/'. $path[1] . '/';
$outurl = $path[1];
$smarty->assign('outurl', $outurl);智能模板文件:
{if $outurl == 'album'}
<h6>Sample text one </h6>
{else}
<h6>Sample text two </h6>
{/if}现在不再推荐在Smarty模板中使用{php}标记,在当前版本中,您只可以使用BC类,而不能使用标准类。在您的例子中,我认为在Smarty模板中使用这个标记没有任何意义,因为您可以在PHP中简单地这样做,并将$outurl传递给模板文件。
https://stackoverflow.com/questions/24304382
复制相似问题