使用Symfony&创建最后访问过的列表枝条

时间:2012-10-08 11:58:39

标签: symfony twig symfony-2.1

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

为此,我写了一个历史服务,它保存了会话中最后访问过的路线。

但我的路由名称只是用户体验的别名。

因此路由country_info应该包含类似“国家/地区信息”的字符串。 是否可以在routing.yml

中定义别名

1 个答案:

答案 0 :(得分:1)

不,在routing.yml中无法定义路由别名。路由系统并不意味着这样做。

如果您有固定数量的页面,您只需读取Controller中的会话值并翻译每个路径名称,以便稍后使用Twig打印。

假设您将最后访问过的页面路由存储在一个数组中,您可以尝试以下操作:

在您的Controller操作中:

// 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 %}

希望它有所帮助。