2011-11-26 20 views
8

El uso de Smarty Etiquetas Me gustaría determinar si una URL contiene una palabra, algo así como:Smarty URL contiene

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

Sé que contiene no existe, pero ¿cómo podía ir fácilmente a escribir algo similar para lograr el código anterior?

Respuesta

4

Puede usar strpos para verificar si una cadena tiene otra cadena dentro de ella.

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

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

excepto que se debe envolver en {php} y {/php}.

$smarty.get.page se traduce en $_GET['page'], por lo que podría reemplazarlo con la variable GET también.

+0

Voy a tratar esto, pero creo que puede no funcionar a menos que strpos sea un método de código inteligente - gracias por la respuesta – 99823

+0

Funcionará, ya que 'strpos' es un método PHP. Buena suerte, y no dude en aceptar si funciona :) – tekknolagi

+0

@Loren se olvidó de etiquetarlo, lo siento – tekknolagi

23

Todos los condicionales PHP y funciones están reconocidas, como || o, & &, y, is_array(), etc.

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

+0

oh ... ja, ja: P – tekknolagi

+0

esto funcionó muy bien pero tuve que aceptar tekk porque él pasó mucho tiempo ayudándome, pero muchas gracias por tu ayuda también – 99823