2011-11-26 3 views
8

utilisant Smarty Balises Je voudrais déterminer si une URL contient un mot, quelque chose comme:Smarty Si l'URL contient

{if $smarty.get.page contains "product.php"} ..... 

Je sais que contient n'existe pas, mais comment pourrais-je aller facilement à écrire quelque chose similaire pour atteindre le code ci-dessus?

Répondre

4

Vous pouvez utiliser strpos pour vérifier si une chaîne contient une autre chaîne.

$pos = strpos($smarty.get.page, "product.php"); 

if($pos !== false) { 
// found, do something 
} 

Sauf vous avez besoin de l'envelopper dans {php} et {/php}.

$smarty.get.page se traduit par $_GET['page'], donc vous pouvez le remplacer par la variable GET.

+0

Je vais essayer cela, mais je crois qu'il peut ne pas fonctionner, sauf si strpos est une méthode de code smarty - merci pour la réponse – 99823

+0

Cela fonctionnera, car 'strpos' est une méthode PHP. Bonne chance, et n'hésitez pas à accepter si cela fonctionne :) – tekknolagi

+0

@Loren a oublié de vous taguer, désolé – tekknolagi

23

Toutes PHP et les fonctions sont conditionals reconnues, comme ||, ou, & &, et, is_array(), etc.

{if strpos($smarty.get.page, "product.php") !== false}

+0

oh ... ha, ha: P – tekknolagi

+0

cela a très bien fonctionné, mais j'ai dû accepter tekk car il a passé tellement de temps à m'aider, mais je vous remercie beaucoup pour votre aide aussi bien – 99823