我已将此代码放入header.tpl但 div 出现在所有页面上
{if cart.php}
<div> This is Cart.PHP </div>
{/if}
我希望这个 div 只出现在cart.php页面的标题中。
{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"
就足够了。
使用服务器变量 PHP_SELF(将“/cart.php”更改为从站点根目录到购物车文件所在位置的确切路径。
if ($_SERVER['PHP_SELF'] == "/cart.php") {
echo "<div>This is cart.php</div>";
}