2011-07-23 15 views
6

Quiero agregar un valor constante a una variable en smarty. al igual que:Smarty - variable Además

{assign var='c' value='0'} 
$c=$c+1 
+1

¿Es "smart t" lo mismo que [smarty] (http://www.smarty.net/)? – salathe

+0

sí. Creo que si. – RSK

Respuesta

11

Prueba esto:

{assign var='c' value=0} 
{assign var='c' value=$c+1} 

La forma corta debería funcionar también, pero dicen que no lo hace.

{$c=0} 
{$c=$c+1} 

Pero esto no funciona porque está usando Smarty 2, ¿verdad? Porque en Smarty 3 debería funcionar.

3

Probar:

{assign var="c" value="`$something+$constant`"} 

Pero por lo general el sentido de marcos plantilla es seguir el patrón MVC. Entonces toda la lógica se hace en un controlador. O en el caso de ti, algún tipo de script php. La vista no debe contener mucha lógica (menos código de vista lógica mejor). Entonces, cualquier tipo de cálculos no deberían estar en una vista. En mvc, sin embargo, tendrás algún tipo de lógica, como iteraciones o generación de enlaces (a través, por ejemplo, de los complementos smarty).

3

Puede usar expresiones con la función de plantilla {assign}.

{assign var=c value=$c+1} 

o en su forma definitiva,

{$c=$c+1} 
+0

'error de sintaxis: etiqueta no reconocida: $ c = $ c + 1 (Smarty_Compiler.class.php, línea 439)' Obtengo este error – RSK

+0

¿Leyó la documentación de smarty? – salathe