web-dev-qa-db-ja.com

配列をテンプレートに渡す方法は?

私は自分のテンプレートファイルで配列をレンダリングすることになっている私の最初のモジュールを動作させようとしています。

1)変数の配列を取得してコントローラーに返します

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

2).moduleでhook_theme()を宣言します

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

);

3)次に、変数を出力したいのですが、何か不足していると確信しています。基本的な知識がない場合は、お知らせください。テンプレートファイルで配列を反復処理する方法がわからないので、hook_themeに問題があると思います。

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

誰かが私を正しい方向に向けることができれば、それはニースでしょう:)

編集:「テスト値」はうまくレンダリングされています

3
GinTonic

Render配列とテーマフックの変数名は一致する必要があります。

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

Twigで配列を反復することは非常に簡単です:

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