我如何使用smarty获取当前URL

时间:2012-10-30 12:13:41

标签: smarty

如何使用smarty获取网址(类似于JavaScript中的window.location)?

我做了这个

{$smarty.server.PHP_SELF} 

但它不起作用。

3 个答案:

答案 0 :(得分:110)

您也可以使用它。

{$smarty.server.HTTP_HOST}{$smarty.server.REQUEST_URI}

答案 1 :(得分:4)

这是控制器代码:

<?php
require_once('libs/Smarty.class.php');
$smarty = new Smarty();
if (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") {
    $pro = 'https';
} else {
    $pro = 'http';
}
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
$current_url =  $pro."://".$_SERVER['SERVER_NAME'].$port.$_SERVER['REQUEST_URI'];

$smarty->assign("current_url",$current_url);
$smarty->display('index.tpl');

?>

您可以在index.tpl模板文件中显示变量:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <title>Title</title>
    </head>
    <body>

        {$current_url}

    </body>
</html>

答案 2 :(得分:1)

看看有什么可用的内容:

{$smarty.server|@var_dump}

URL https://some.example.com/some/path?param=1 的几个示例:

{$smarty.server.SCRIPT_URI}

https://some.example.com/some/path

{$smarty.server.SERVER_NAME}

some.example.com

{$smarty.server.SCRIPT_URL}

/ some / path