问题
Using Smarty Tags I'd like to determine if an URL contains a word, something like:
{if $smarty.get.page contains "product.php"} .....
I know contains doesn't exist, but how could I easily go about writing something similar to achieve the above code?
回答1:
You can use strpos
to check if a string has another string inside of it.
$pos = strpos($smarty.get.page, "product.php");
if($pos !== false) {
// found, do something
}
Except you need to wrap it in {php}
and {/php}
.
$smarty.get.page
translates to $_GET['page']
, so you could replace it with the GET variable as well.
回答2:
All PHP conditionals and functions are recognized, such as ||, or, &&, and, is_array(), etc.
{if strpos($smarty.get.page, "product.php") !== false}
来源:https://stackoverflow.com/questions/8280984/smarty-if-url-contains