Etiqueta b:switch, b:case y b:default

b:includable Blogger

Las etiquetas b:switch son instrucciones que nos dan el control para ejecutar o no bloques de código. El comportamiento es similar a las etiquetas b:if, b:elseif y b:else.


b:switch

Se puede utilizar en cualquier parte del documento xml, exceptuando dentro de b:skin. También es obligatorio que la etiqueta b:case forme parte de la instrucción. b:default se incluye pero no es obligatorio. Su sintaxis es la siguiente:


<b:switch var='[expresion]'>
   <b:case value='[value1]'/>
      <!-- Si value1 se cumple, esto se mostrará -->
   <b:case value='[value2]'/>
      <!-- Si value1 no se cumple, comprueba value2 para mostrar -->
   <b:default/>
      <!-- Valor por defecto si ninguno se cumple -->
</b:switch>

La etiqueta b:default no requiere de ningun parametro, el resto de las etiqueta que conforman b:switch requieren obligatoriamente especificar los siguientes parametros:


b:switch var Soporta string, number y boolean
b:case value Soporta string, number y boolean. Puede contener expresiones si se utiliza "expr:".

En este ejemplo creamos instrucciones conformadas por string, mediante el uso de data:view.type:


<b:switch var='data:view.type'>
   <b:case value='item'/>
      <!-- Se muestra si se trata de una entrada o una página estática -->
   <b:case value='feed'/>
      <!-- Si la pagina es un error se muestra esto -->
   <b:default/>
      <!-- Valor por defecto -->
</b:switch>

Otro ejemplo pero esta vez basado en una expresión conformada por datos del tipo boolean:


<b:switch var='data:view.isPost'>
   <b:case value='true'/>
      <!-- Se muestra si se trata de una entrada -->
   <b:default/>
      <!-- Valor por defecto -->
</b:switch>

Ahora vamos a basar la expresión por datos del tipo number, para ello contamos la cantidad de valores en la tabla data:posts:


<b:switch var='data:posts.length'>
   <b:case value='1 + 1'/>
      <!-- Se muestra cuando la expresion sea igual al resultado de la operación -->
   <b:case value='4'/>
      <!-- Se cumple cuando la expresion sea 4 -->
   <b:default/>
      <!-- Valor por defecto -->
</b:switch>

Esta entrada se complementó gracias a la ayuda de Blogger Code, si quieres aprender mas sobre b:switch te invito a leer Las etiquetas b:switch.