これはおそらく比較的簡単ですが、私はtwigが初めてで、イライラしています。
私はこの答えからコードを適応しています: https://stackoverflow.com/a/24058447
配列は、この形式でPHPで作成されます。
$link[] = array(
'link' => 'http://example.org',
'title' => 'Link Title',
'display' => 'Text to display',
);
次に、小枝を介して、内破する前にhtmlを追加します。
<ul class="conr">
<li><span>{{ lang_common['Topic searches'] }}
{% set info = [] %}
{% for status in status_info %}
{% set info = info|merge(['<a href="{{ status[\'link\'] }}" title="{{ status[\'title\'] }}">{{ status[\'display\'] }}</a>']) %}
{% endfor %}
{{ [info]|join(' | ') }}
</ul>
しかし、私は得ています:
Errno [8] F:\ localhost\www\twig\include\lib\Twig\Extension\Core.phpの832行目の配列から文字列への変換
この行を削除すると修正されますが、表示されません:
{{ [info]|join(' | ') }}
これを適切に内破する方法はありますか?
**更新**
Twigのダンプ関数を使用すると、何も返されません。そもそも配列にロードしていないようです。新しい配列に情報を読み込むにはどうすればよいですか。
Twigテンプレート内に複雑なデータ構造を構築するべきではありません。
{% for status in status_info %}
<a href="{{ status.link }}" title="{{ status.title }}">{{ status.display }}</a>
{% if not loop.last %}|{% endif %}
{% endfor %}
infoは配列なので、簡単に書く必要があります
{{ info|join(', ') }}
情報配列を表示します。
[情報]は、1つの値を持つ配列です。配列情報です。
Json_encodeを使用して、配列を文字列としてシリアル化してから、pretty-build in twigを使用できます
{{array | json_encode(constant( 'JSON_PRETTY_PRINT'))}}