Eu quero contar o número de valores do campo ilimitado em galho tempalate eu tentei
{{ node.field_mytext.count }}
=> confrontado com erro
e em outra tentativa
{{ content.field_mytext.count }}
=> nada retornado
(neste método, verifiquei que meu campo não está desativado, o campo é gerenciador de exibição).
Minha pergunta é como posso contar o número de itens de um campo no Twig?
Espero enfrentar as soluções, espero que estas soluções: D
- adicione-o no preprocess_node
- use Twig Tweak
Respostas:
{{node.field_mytext.count}} => confrontado com erro
Isso não funciona, porque o método
count
não é permitido nas políticas de galho:{{content.field_mytext | comprimento }}?
Isso não funciona, porque
content
é uma matriz de renderização com muitas chaves adicionais.Funciona: Converter campo em matriz e contar
fonte
A maneira mais fácil é obter o
['#items']|length
. Faço isso o tempo todo para contar itens para exibir mais instâncias e ao carregar controles deslizantes.fonte
Eu usei filtros Twig próprios para suportar campos de entidade, com isso você pode usar campos como matrizes nativas:
ou
ou
Você pode adicionar facilmente seus próprios filtros Twig através de um módulo personalizado. Você pode aprender mais aqui: drupal.org/docs/8/creating-custom-modules . Em resumo, você precisa criar um diretório de módulo, por exemplo
path/to/drupal/modules/custom/common/
, colocá-locommon.info.yml
com a definição de módulo ecommon.services.yml
com a definição de serviço (ver comentários no código) e colocar meu código em/path/to/drupal/modules/custom/common/src/TwigExtension.php
.fonte
Use filtro de comprimento
fonte