Symfony と Twig で「最後に訪れたページ」リストを作成したいと考えています。
その目的のために、セッションで最後に訪れたルートを保存する履歴サービスを作成しました。
しかし、私はルート名にユーザーエクスペリエンスのエイリアスを持たないだけです。
そのため、ルートにcountry_info
は「Country Information」のような文字列が含まれている必要があります。でエイリアスを定義することは可能routing.yml
ですか?
Symfony と Twig で「最後に訪れたページ」リストを作成したいと考えています。
その目的のために、セッションで最後に訪れたルートを保存する履歴サービスを作成しました。
しかし、私はルート名にユーザーエクスペリエンスのエイリアスを持たないだけです。
そのため、ルートにcountry_info
は「Country Information」のような文字列が含まれている必要があります。でエイリアスを定義することは可能routing.yml
ですか?
いいえ、 でルート エイリアスを定義することはできませんrouting.yml
。ルーティング システムは、それを行うためのものではありません。
一定数のページがある場合は、コントローラーでセッション値を読み取り、各ルート名を変換して、後で Twig で印刷することができます。
最後にアクセスしたページのルートを配列に保存していると仮定すると、次のことを試すことができます。
コントローラー アクションで:
// Read session
$page_routes = $session->get('last_visited_routes_array');
$output_array=array();
foreach ($page_routes as $route){
// Translate route to name
switch($route){
case "country_info":
$output_array['country_info'] = "Country Information";
break;
// ... Add more Cases here ...
}
}
// Return generated array so it can be used by Twig
return array('output_array' => $output_array);
Twig テンプレートで:
{% for page_route, page_name in output_array %}
<a href="{{ path('page_route') }}">{{page_name}}</a>
{% endfor %}
それが役に立てば幸い。