如何根据文件名有条件地添加div?

时间:2012-09-06 17:35:58

标签: php whmcs

我已将此代码放在 header.tpl 中,但div出现在所有页面上

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

我希望此div只显示在 cart.php 页面的标题中。

2 个答案:

答案 0 :(得分:2)

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

你的比较@JaredFarrish说,总是会返回true,因为你问的是文件名(在这种情况下 cart.php true )而不是#&#&# 39; s您认为自己的当前文件名。

然而,这可能不适用于包含(例如您的情况),您可能想要使用这样的内容:

{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"就足够了。

答案 1 :(得分:0)

使用服务器变量PHP_SELF(将“/cart.php”更改为从站点根目录到购物车文件所在位置的确切路径。

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