2012-10-08 3 views
0

Symfony와 Twig로 "마지막으로 방문한 페이지"목록을 만들고 싶습니다.Symfony & Twig로 마지막으로 방문한 목록 만들기

그 목적을 위해 세션에서 마지막으로 방문한 경로를 저장하는 기록 서비스를 작성했습니다.

하지만 경로 이름에는 사용자 환경에 대한 별칭이 없습니다.

따라서 경로 country_info에는 "국가 정보"와 같은 문자열이 있어야합니다. routing.yml에 별칭을 정의 할 수 있습니까?

답변

1

아니요, routing.yml에 경로 별칭을 정의 할 수 없습니다. 라우팅 시스템은 그렇게하기위한 것이 아닙니다.

고정 된 페이지 수가있는 경우 컨트롤러에서 세션 값을 읽고 각 경로 이름을 번역하여 나중에 Twig로 인쇄 할 수 있습니다.

{% for page_route, page_name in output_array %} 
    <a href="{{ path('page_route') }}">{{page_name}}</a> 
{% endfor %} 

: 당신의 나뭇 가지 템플릿에서

// 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); 

: 당신의 컨트롤러 액션에서

:

당신은 배열 페이지 경로를 마지막으로 저장 방문하는 가정하면, 다음을 시도 할 수 있습니다 희망이 도움이됩니다.

+0

나는 그 가능성을 알고 있지만,이 프로젝트는 약 50 개의 경로를 가지고 있으므로 아주 좋은 접근 방법이 아닙니다. –

관련 문제