2

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

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

我希望这个 div 只出现在cart.php页面的标题中。

4

2 回答 2

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

正如@JaredFarrish 所说,您的比较将始终返回 true ,因为您询问的是文件名(在本例中为cart.php是否为true),而不是您认为的当前文件名。

但是,这可能不适用于包含(如您的情况),您可能希望使用以下内容:

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

于 2012-09-09T01:30:08.040 回答
0

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

if ($_SERVER['PHP_SELF'] == "/cart.php") {
    echo "<div>This is cart.php</div>";
}
于 2012-09-09T01:28:22.520 回答