0

Symfony と Twig で「最後に訪れたページ」リストを作成したいと考えています。

その目的のために、セッションで最後に訪れたルートを保存する履歴サービスを作成しました。

しかし、私はルート名にユーザーエクスペリエンスのエイリアスを持たないだけです。

そのため、ルートにcountry_infoは「Country Information」のような文字列が含まれている必要があります。でエイリアスを定義することは可能routing.ymlですか?

4

1 に答える 1

1

いいえ、 でルート エイリアスを定義することはできません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 %}

それが役に立てば幸い。

于 2012-10-14T02:51:48.413 に答える