2012-10-22 4 views
0

사용자가 로그인하고 웹 사이트 탐색 중에 탐색 모음에 메뉴가 포함되어 있습니다 (모든 사용자는 자신의 메뉴가 있습니다). 이렇게하려면 다음과 같이 진행했습니다. 먼저 데이터베이스의 테이블 안에 각 사용자의 HTML 코드가 들어있는 필드를 넣은 다음 사용자가이 필드를 연결하면 세션에 넣고 admin.html이라는 나뭇 가지 파일에 표시합니다. 다음과 같은 나뭇 가지 :symfony2 : 사용자에 따라 달라지는 메뉴

{{ app.session.get('menu')}} 

그리고 사용자가 액세스하는 모든 페이지는이 페이지에서 자동으로 상속받습니다. 글쎄, 내 솔루션이 작동하지 않는 것, 나는 이런 식으로 필터에 대해 생각해야한다는 말을 들었지만 실제로 어떻게이 솔루션을 얻지는 못했습니다. 내 논리에 잘못된 점이 있음을 알고 있습니까? 아이디어? 미리 감사드립니다. 메뉴에 포함 된 내용의

예 :

<div class="navbar"> 
    <div class="navbar-inner"> 
     <a class="brand" href="#">Menu1</a> 
     <ul class="nav"> 
      <li class="active"><a href="#">Home</a></li> 
      <li><a href="{{ path('graphe'|url_encode())}}">Graphe</a></li> 
      <li><a href="#">Link</a></li> 
      <li><a href="#">Link</a></li> 
      <li><a href="#">Link</a></li> 
      <li><a href="#">Link</a></li> 
      <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown" >Administration <b class="caret"></b></a> 
       <ul class="dropdown-menu"> 
        <li><a href="gest_utilisateur">Gestion des utilisateurs</a></li> 
        <li><a href="#">Gestion des Menus</a></li> 
        <li><a href="gest_domaine">Gestion des Domaines</a></li> 
        <li><a href="gest_equipe">Gestion des Equipes</a></li> 
       </ul> 
      </li> 
     </ul> 
    </div> 
</div> 
+1

이것은 나에게 매우 나쁜 생각입니다. 사용자 (모델 계층)에 메뉴 (보기 계층)에 대한 정보가 포함될 이유가 없어야합니다. 각 사용자의 메뉴에는 무엇이 있습니까? 각 사용자마다 동일합니까? – RobMasters

+0

각 사용자마다 자신의 메뉴가 없습니다. 네, 제 아이디어가 얼마나 나쁜지 알고 있습니다. –

+0

여기에서 당신을 도우려고하고 있지만 내 질문에 대답하지 않았습니다 ... 각 사용자의 메뉴에는 무엇이 있습니까? 그게 "자기 자신"이되는 이유는 무엇입니까? 실제로 HTML을 제공합니까, 아니면 어떻게 든 구성 할 수 있습니까? – RobMasters

답변

0

나는 그런 식으로이 작업을 수행합니다

  1. 내가 이것을 얻을 것이다 템플릿에서 사용자 엔티티
  2. 에 메뉴 필드 추가 :

    {{ app.user.getMenu() }} 
    

    사용자가 d.

+0

나는 그것을 바로 시험해 보겠다.^_^thnks –

+0

글쎄 그것은 실제로 작동하지 않았다. 나는 실제로 같은 것을 올렸고, 내 문제는 내 생각이었다. http://stackoverflow.com/questions/12687382/execute-a-twig- variable-inside-another-twig-variable –

+0

db에서 html 대신 JMSerializerBundle 서비스에 의해 json으로 직렬화 된 KNPMenuBundle 메뉴의 인스턴스를 유지합니다. –

관련 문제