logo

WikiJuanan: Smarty ...

Inicio | Indice De Paginas | Ultimas Modificaciones | Ultimos Commentarios | Usuarios | Registrarse | Conectar:  Contraseña:  

PHPCms Made SimpleProyecto Cascara


Smarty es un motor de plantillas para PHP (posiblemente el más rápido). Básicamente proporciona una forma fácil de separar la lógica de la aplicación de la presentación


Web Oficial: http://www.smarty.net/Documentación en inglésDocumentación en castellano

Artículos

Truquillos interesantes smarty

Smarty para CMS Made Simple

Variables

Asignación de variables

Para asignar valores a variables smarty desde php utilice la construcción:


Normalmente el valor vendrá dado a su vez por una variable de php, cuidado aquí con las confusiones al poner el signo '$'.

Asignación de arrays

La variable asignada puede contener un array. Desde la plantilla podemos recuperar los elementos del array usando el operador punto (.)


También podemos recuperar los datos de un array usando los índices entre corchetes []: {$fila[1]}, {$celda[1][4]}


Las parámetros contenidos en variables como $_GET, $_SESSION, $_COOKIE, etc están disponibles usando $smarty.get.nombre_parametro, $smarty.session.nombre_parametro, etc

Funciones internas

if/elseif/if

Las construcciones condicionales se comportan de manera idéntica a las de php, aunque no necesitan paréntesis en la condición. Siempre hay que terminar una construcción {if} con su correspondiente {/if}.

foreach

El bucle {foreach} es una alternativa más simple al bucle {section}. Se usa para recorrer una matriz asociativa simple, pero sólo puede ser usada en una única matriz.


La etiqueta {foreach} debe tener su par {/foreach}. Los parámetros requeridos son fromitem. El parámetro from normalmente apuntará a una matriz de valores y en item se irá almacenando el valor cargado en el bucle en cada ciclo.


Pueden anidarse varios bucles foreach, en este caso debemos usar el parametro name para distinguir cada bucle y tener la precaución de usar un nombre distinto en item.



Si queremos recuperar las claves de una matriz asociativa usaremos el parámetro key:


Si los datos vienen de una consulta a una base de datos, podríamos tener algo así:


Ampliar información

{literal}

La función literal es muy util para insertar en una página o plantilla contenido que no debe ser interpretado por smarty, por ejemplo código javascript que contenga llaves {}.

{literal} 
<script type="text/javascript"> 
<!-- 
function isblank(field) { 
if (field.value == \'\') 
{ return false; } 
else 
{ 
document.loginform.submit(); 
return true; 
} 
} 
// --> 
</script> 
{/literal}

Buenas prácticas

Here is an approach to keep things separate. In our PHP logic, we will assign a simple flag to Smarty:


PHP


And in our template, we use the flag:


Smarty


Now our template focuses purely on the presentation. In some cases a flag name like $is_editor may be more appropriate, depending on what contexts it is used. But you get the basic idea. Keep the business logic out, and focus on presentation.

No hay archivos en esta página. [Enseñar archivos/formulario]
No hay comentarios en esta pagina. [Enseñar comentarios/formulario]