Как я могу определить, является ли ключ объектом (ветка)? - PullRequest
0 голосов
/ 07 декабря 2018

Я хочу определить, является ли мой ключ объектом:

  {% for key in columns %}
      {% if key is object %}
        This is an object
      {% else %}
       This in not an object
      {% endif %}
  {% endfor %}

Но я получаю сообщение об ошибке:

Неизвестный тест "объекта".

1 Ответ

0 голосов
/ 08 декабря 2018

Вы можете создать свое собственное расширение Twig .Я вижу, что вы пометили свой вопрос в Symfony, поэтому, если вы используете Twig в Symfony, вы можете следовать этому руководству:

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

Что вам нужно сделать, это добавить новый TwigTestна основе этого примера:

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

В итоге вы должны получить что-то вроде этого:

// src/AppBundle/Twig/AppExtension.php
namespace AppBundle\Twig;

use Twig\Extension\AbstractExtension;
use Twig\TwigTest;

class AppExtension extends AbstractExtension
{
    public function getTests()
    {
        return array(
            new TwigTest('object', array($this, 'isObject')),
        );
    }

    public function isObject($object)
    {
        return is_object($object);
    }
}

Код выше не проверен, но должен работать нормально.

...