使用Symfony&;创建上次访问列表;细枝

使用Symfony&;创建上次访问列表;细枝,symfony,twig,symfony-2.1,Symfony,Twig,Symfony 2.1,我想用Symfony和Twig创建一个“最后访问的页面”列表 为此,我编写了一个历史记录服务,用于保存会话中最后访问的路由 但是我只有路由名称,没有用户体验的别名 因此路由country\u info应该包含类似“country Information”的字符串。 是否可以在routing.yml中定义别名?否,无法在routing.yml中定义路由别名。路由系统并不打算这样做 如果您有固定的页数,您可以读取控制器中的会话值并翻译每个路由名称,以便稍后使用Twig打印 假设您正在阵列中存储上次访

我想用Symfony和Twig创建一个“最后访问的页面”列表

为此,我编写了一个历史记录服务,用于保存会话中最后访问的路由

但是我只有路由名称,没有用户体验的别名

因此路由
country\u 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);
在细枝模板中:

{% for page_route, page_name in output_array %}
    <a href="{{ path('page_route') }}">{{page_name}}</a>
{% endfor %}
{%用于页面\路由,页面\名称在输出\数组%}
{%endfor%}

希望能有所帮助。

我知道这种可能性,但考虑到这个项目有大约50条路线,这不是一个很好的方法。