how can I determine the path of a site using php/smarty?
Ok, say I have a page with the url: URL.com/checkout/completed
, how can I setup an开发者_运维问答 if statement to perform:
<if "This page has url of checkout/completed">
No Content
<else>
Content
</if>
Is there a way? A simple way, my php/smarty-fu lacks.. A lot.
EDIT:
{if $smarty.server.REDIRECT_URL eq 'http://www.euroworker.no/checkout/completed'}
{else}
<div id="scrollwrap">
<div class="scrollFieldContent">
Scrolled content
</div>
<div class="probetalings">Velg betalingsmåte</div>
{include file="/choosePaymentMethod.tpl"}
</div>
{/if}
Thanks.
Have a look at $_SERVER['REQUEST_URI'];
and $_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}
If you don't have REDIRECT_URL set, and use REQUEST_URI, you might want to use strstr
instead of typical comparison in case you just want to match that URI while ignoring any additional parameters which might be sent, or go with SCRIPT_NAME
as @Pekka suggested:
if(strstr($_SERVER['REQUEST_URI'], 'checkout/completed')) {
echo 'Some content';
}
EDIT: Try:
{if $smarty.server.REQUEST_URI eq '/checkout/completed'}
I would prefer SCRIPT_NAME
that will return the full request path but not the query string like REQUEST_URI
does.
if ($_SERVER["SCRIPT_NAME"] == "/checkout/completed")
......
精彩评论