如何使用php / smarty确定网站的路径?

时间:2010-04-22 11:20:55

标签: php url smarty if-statement

好的,我说有一个包含网址的页面:URL.com/checkout/completed,如何设置if语句来执行:

<if "This page has url of checkout/completed">

No Content

<else>

Content

</if>

有办法吗?一个简单的方法,我的php / smarty-fu缺乏..很多。

编辑:

{if $smarty.server.REDIRECT_URL eq 'http://www.euroworker.no/checkout/completed'}
&nbsp;
{else}  
<div id="scrollwrap">   
    <div class="scrollFieldContent"> 

Scrolled content
        </div>

<div class="probetalings">Velg betalingsmåte</div>

{include file="/choosePaymentMethod.tpl"}
</div> 

{/if}

感谢。

2 个答案:

答案 0 :(得分:2)

查看$_SERVER['REQUEST_URI'];$_SERVER['REDIRECT_URL'];

if($_SERVER['REDIRECT_URL'] == 'checkout/completed') {
   echo 'Some content';
}

in smarty:

{if $smarty.server.REDIRECT_URL eq 'checkout/completed'}
Some content
{/if}

如果您没有设置REDIRECT_URL并使用REQUEST_URI,则可能需要使用strstr而不是典型的比较,以防您只想匹配该URI而忽略可能发送的任何其他参数,或者和@ SCRIPT_NAME一起使用@Pekka建议:

if(strstr($_SERVER['REQUEST_URI'], 'checkout/completed')) {
   echo 'Some content';
}

编辑:尝试:

{if $smarty.server.REQUEST_URI eq '/checkout/completed'}

答案 1 :(得分:2)

我希望SCRIPT_NAME返回完整的请求路径,而不是REQUEST_URI之类的查询字符串。

if ($_SERVER["SCRIPT_NAME"] == "/checkout/completed")
 ......