Aprende a visualizar fácilmente con una sintaxis corta y un bucle, la lista de números del 0 al 9 y el alfabeto de la A a la Z.

El uso de bucles en Smarty y una gran cantidad de lenguajes de programación facilitan al desarrollador el proceso de escritura de plantillas. Por ejemplo, imagina que necesitas escribir algún tipo de página de Léxico y necesitas mostrar una lista organizada / desorganizada con cada carácter del alfabeto y los números que redirigen a alguna URL donde las palabras que comienzan con el carácter mencionado se muestran en algunas otra lista.

Seguramente esto se convierta en una tarea aburrida al escribir todo manualmente con HTML:

<a href="/lexicon/0">0</a>
<a href="/lexicon/1">1</a>
<a href="/lexicon/2">2</a>
<a href="/lexicon/3">3</a>
<a href="/lexicon/4">4</a>
<a href="/lexicon/5">5</a>
<!-- .... -->
<a href="/lexicon/X">X</a>
<a href="/lexicon/Y">Y</a>
<a href="/lexicon/Z">Z</a>

Nadie quiere eso de verdad. Ignorando el hecho de que es bastante difícil de mantener, el tamaño de los archivos de su código fuente diferirá enormemente del código de buena calidad. Si estás utilizando Smarty Templates en tu proyecto, puedes generar fácilmente el HTML anterior con la ayuda de un bucle y los modificadores de rango.

Lista numérica

Para ambas listas, numéricas y alfabéticas, usaremos los modificadores from y range en el ciclo foreach. Estos atributos funcionan como un operador de propagación, por así decirlo, siguiendo el orden ascendente en este caso (ya que estamos usando el rango de 0 a 9), Smarty ofrece soporte también con el orden descendente (9 a 0):

{* Para mostrar la lista de números del 0 al *}
{foreach item=i from=0|@range:9}
    {* 
        $i en este caso contiene el número en el orden del bucle
        e.g 1, 2, 3, 4 ...

       La salida sería:
        <a href="/lexicon/0">0</a>
    *}
    <a href="/lexicon/{$i}">{$i}</a>
{/foreach}

El fragmento anterior sería suficiente para mostrar los números del 0 al 9 en nuestro léxico. Tenga en cuenta que no se limita a 0 a 9, sino también a cualquier otro número.

Lista alfabética

De la misma manera que lo hicimos con el rango de números, Smarty es lo suficientemente inteligente como para hacer lo mismo con los caracteres alfabéticos, por lo que si desea mostrar una lista de la A a la Z, el siguiente fragmento debería funcionar por usted:

{* Para mostrar la lista de caracteres de la A a la Z *}
{foreach item=i from='A'|@range:'Z'}
    {* 
        $i en este caso contiene el carácter en el orden del bucle
        e.g A, B, C, D ...

        La salida sería:
        <a href="/lexicon/A">A</a>
    *}
    <a href="/lexicon/{$i}">{$i}</a>
{/foreach}

La misma lógica para el orden inverso se aplica también a los caracteres (de la Z a la A). En este caso con los caracteres, nuestro bucle usa caracteres en mayúsculas, por lo que la salida de nuestros caracteres estará en mayúsculas (como se esperaba). Al hacer lo mismo con los caracteres en minúsculas, se mostrarán todos los caracteres en minúsculas.

Que te diviertas ❤️!


Interesado en la programación desde los 14 años, Carlos es un programador autodidacta, fundador y autor de la mayoría de los artículos de Our Code World.

Conviertete en un programador más sociable

Patrocinadores