Variables con php y smarty

  • May
  • 15

escribe tu comentario! 194 palabras - 1 hits

smarty resulta un potente aliado a la hora de personalizar la funcionalidad de movable type

Una de las pegas a la hora de usar la publicacion dinámica con Movable Type es que ya no podemos incluir variables del cms dentro de funciones php.

Con la publicacion estática era tan sencillo como lo siguiente:

  1.  
  2.     <?php
  3.         $title = <$MTEntryTitle$>;
  4.     ?>
  5.  

Si incluimos ese código dentro de una plantilla dinámica esta dará error al intentar renderizar en el navegador, para que funcione con smarty tenemos que modificar un poco ese código.

En realidad tenemos varias maneras para hacerlo,

Capturando la variable

Si necesitamos que la variable este disponible tanto para smarty como para php podemos utilizar este método,

  1.  
  2.         {{capture assign="title"}}<$MTEntryTitle$>{{/capture}}
  3.  

para acceder a la variable desde una función php, la variable esta disponible dentro del array tpl_vars

  1.  
  2.     <?php
  3.                 $title = $this->_tpl_vars['title'];
  4.         ?>
  5.  

acceder desde smarty es tan sencillo como

  1.  
  2.         {{$title}}
  3.  

Accediendo a la variable

El otro método consiste en llamar directamente a la variable desde la función, esto nos permite aplicar los modificadores que estén disponibles para dicha variable,

  1.  
  2.     <?php
  3.         $title = $this->tag('MTEntryTitle', array('dirifyplus' => 'pld'));
  4.     ?>
  5.  

como veis smarty resulta de gran ayuda a la hora de interactuar con el cms, además de permitir integrar funcionalidades extra que le dotan de una gran flexibilidad.

ningún comentario por el momento

Escribe tu comentario

Puedes utilizar este formulario para escribir tu opinion sobre esta entrada, no existe ningun tipo de limitacion a la hora de enviar opiniones, tan solo sigue unas reglas basicas de cortesia y todos estaremos mas contentos.

Puedes identificarte utilizando OpenID, solo tienes que introducir tu URL OpenID en el siguiente campo y pulsar el boton de validar.





Instrucciones para los comentarios

El simbolo * indica que se trata de un campo obligatorio.

Este sitio usa Markdown junto con Smartypants para educar los textos, tambien esta disponible para los comentarios.

A continuación os muestro algunas de las equivalencias:

  • [enlace de ejemplo](http://example.com/) resulta enlace de ejemplo.
  • **Texto en Negrita**
  • _Italica_
  • > blockquote
  • > > nested blockquote
  • * Esto es un elemento de una lista desordenada (ul)
  • 1. Esto es un elemento de una lista ordenada (ol)

MC Puedes seguir las respuestas a tus comentarios con MyComments.