web-dev-qa-db-fra.com

Comment passer un tableau à un modèle?

J'essaie de faire fonctionner mon premier module qui est censé rendre un tableau dans son propre fichier de modèle.

1) J'ai un tableau de variables et je le retourne dans mon contrôleur

        array(
        '#theme' => 'myTheme',
        '#test_var' => $this->t('Test Value'),
        '#array' => array('key'=>$myArray),
        );

2) dans mon .module je déclare le hook_theme ()

  return array(
'myTheme' => array(
  'variables' => array(
    'test_var' => '',
    'array' => array(),
    ),
),

);

3) Ensuite, je voudrais imprimer les variables, je suis sûr que je manque quelque chose, et si je manque des connaissances de base, faites-le moi savoir. Je suis sûr que quelque chose ne va pas dans le hook_theme car je ne sais pas comment itérer mon tableau dans le fichier modèle.

<p>test_var: {{ test_var }}</p>
<p>{{ array }}</p>

Si quelqu'un pouvait m'orienter dans la bonne direction, ce serait bien :)

edit: la "valeur de test" rend très bien

3
GinTonic

Les noms de variables dans le tableau de rendu et le crochet de thème doivent correspondre:

array(
  '#theme' => 'myTheme',
  '#test_var' => $this->t('Test Value'),
  '#doubles' => array('key'=>$myArray),
);

Itérer un tableau en Twig est assez simple:

{% for key,value in doubles %}
  Key : {{ key }}
  Value : {{ value }}
{% endfor %}
6
Clive