2012-09-06 109 views
2

我已经把这段代码header.tpl但股利是出现在如何根据文件名有条件地添加div?

{if cart.php} 
<div> This is Cart.PHP </div> 
{/if} 

我想这个div将出现在cart.php只有页的页眉所有页面。

+0

'如果条件'意味着有测试。 '如果cart.php'意味着'如果true,do'和大多数语言中没有比较器,'如果cart.php'转化为'if'cart.php“',这将永远(或者至少通常)是真(是的,“cart.php”*是*)。与此相比有什么? –

回答

2
{if __FILE__ eq "cart.php"} 
    do your thing 
{/if} 

你比较,因为@ JaredFarrish表示,将始终返回true,因为你是问,如果文件名(在这种情况下cart.php),而不是如果它是当前文件名,你以为你是。

这howeve R,可能不工作的包括(如你的情况),你可能想使用这样的事:

{if $smarty.server.PHP_SELF eq "/cart.php"} 
    do your thing 
{/if} 

注意,如果你的文件是一个子目录,你需要它比较充分路径或从字符串中提取文件名,因为$smarty.server.PHP_SELF也返回路径。

要做到这一点,你可以使用basename函数直接到你的变量,所以做basename($smarty.server.PHP_SELF) eq "cart.php"应该是足够的。

+0

感谢它的工作原理,我只是将路径更改为/my-whmcs-folder/cart.php – Fahad

0

使用服务器变量PHP_SELF(从您的网站的根目录下的任何地方车文件位于更改“/cart.php”的确切路径。

if ($_SERVER['PHP_SELF'] == "/cart.php") { 
    echo "<div>This is cart.php</div>"; 
} 
+0

他使用smarty我认为,你的答案是PHP只有 –

+0

@Juan - 你认为,因为[WHCMS使用Smarty](http://docs.whmcs.com/Client_Area_Template_Files)? –

相关问题