web-dev-qa-db-ja.com

配列をtwigにレンダリングする方法

次の配列構造の値を持つブロックがあります。

        $block['tag'][] = $term;
        $block['image'][] = $url;
        $block['title'][] = $title;
        $block['description'][] = $description;

ブロック内の関数ビルドから、それをテーマに渡します

$build = [
      '#theme' => 'allofus_four_grids_block',
      '#test_var' => $this->t('Test Value'),
      '#doubles' => array('key' => $block),
    ];

次に、モジュール内で、twig as

'allofus_four_grids_block' => [
      'variables' => [
        'block' => array('key' => array()),
      ],
      'path' => drupal_get_path('theme', 'basis') . '/templates/custom-blocks',
    ],

そしてtwigで、私はそれを次のように反復しています

{% for key,value in block %}
    Key : {{ key }}
    Value : {{ value }}
    {% for key,text in value %}
        Key : {{ key }}
        Value : {{ text }}

    {% endfor %}

{% endfor %}

しかし、これは私に価値を与えていませんか?

2

ここで宣言します

'allofus_four_grids_block' => [
      'variables' => [
        'block' => array('key' => array()),
      ],
      'path' => drupal_get_path('theme', 'basis') . '/templates/custom-blocks',
    ],

したがって、変数ブロックを使用する必要があります:

$build = [
      '#theme' => 'allofus_four_grids_block',
      '#test_var' => $this->t('Test Value'),
      '#block' => array('key' => $block),
    ];

#doublesではない

1
Kevin