2014-02-23 1 views
0

나는 템플릿에 sonataadmin bundle 및 twig를 사용합니다. 텍스트 필드가있는 엔터티가 있습니다. urls가있는 일반적인 html 코드가이 텍스트 필드에 포함될 수 있습니다. 텍스트를 편집하는 콘텐츠 관리자는 html 구조에 대해 걱정할 필요가 없습니다.템플릿을 텍스트 영역에 붙여 넣고 사용자 정의하려면

나는 텍스트 필드가 HTML로 변환 콘텐츠 관리자가 텍스트 영역의 형태와 페이지에 붙여 넣을 수 있습니다

[template=button_block]{url=>name} {url2=>name2} ...[/template] 

같은 간단한 템플릿, 짧은 코드를 확인하려면

<div class="labels"> 

     <div class="button"> 
     <a href="url1>name1</a> 
     </div> 

     <div class="button"> 
     <a href="url2>name2</a> 
     </div> 

     ... 

</div> 

무엇 솔루션의 이 문제의 방법이 있습니까?

답변

0

엔티티에 템플릿 텍스트를 엔티티 클래스의 기본값으로 추가하거나 작성 폼의 데이터 옵션에 텍스트를 설정하거나 컨트롤러의 엔티티에 텍스트를 할당 할 수 있습니다. 새 오브젝트를 정의한 후 양식에 전달하십시오.

모든 세 가지 방법을 사용하면 양식에서 편집 할 샘플 텍스트를 얻을 수 있지만 제 생각에는 최선의 해결책이 아닙니다.

URI와 이름을 저장하는 링크 엔티티에 대한 OneToMany 또는 ManyToMany 관계로 엔티티를 올바르게 설정하는 것이 훨씬 낫습니다. 그런 다음 나뭇 가지 템플릿에있는 링크 목록의 서식을 제어 할 수 있습니다. 이 과정을 안내하는 여기 http://symfony.com/doc/current/cookbook/form/form_collections.html 자습서를 찾을 수 있습니다. 이 옵션을 사용하면 시간이 오래 걸릴 수 있지만 뷰를 별도로 유지하고 데이터를보다 깨끗하게 유지하며 사용자가 실수로 템플릿을 손상시킬 가능성이 적어 지므로이를 수행하는 가장 좋은 방법입니다.

관련 문제