Saltar al contenido

Twig – Cómo verificar si la variable es un número / entero

Solución:

Por fin encontré algo. Una de las respuestas de: https://craftcms.stackexchange.com/questions/932/how-to-check-variable-type

{# Match integer #}
{% if var matches '/^\d+$/' %}
{% endif %}

{# Match floating point number #}
{% if var matches '/^[-+]?[0-9]*\.?[0-9]+$/' %}
{% endif %}

Puede crear una extensión de ramitas para agregar una prueba “numérica”

Con eso, podrás escribir:

{% if foo is numeric %}...{% endif %}

Crea tu clase de extensión:

namespace MyNamespace;
class MyTwigExtension extends Twig_Extension
{

    public function getName()
    {
        return 'my_twig_extension';
    }

    public function getTests()
    {
        return [
            new Twig_Test('numeric', function ($value) { return  is_numeric($value); }),
        ];
    }
}

Y en tu configuración:

services:
    my_twig_extension:
        autowire: true
        class: AppBundleMyNamespaceMyTwigExtension
        tags:
            - { name: twig.extension }

Ver documentación:

https://twig.symfony.com/doc/2.x/advanced.html#tests

https://symfony.com/doc/current/templating/twig_extension.html

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *