2014-01-22 5 views
4

전에 자바 스크립트를 추가Symfony2 - 소나타 관리자가 - 관리 클래스에서 필드

protected function configureFormFields(FormMapper $formMapper) { 
    $formMapper 
      ->add('name', 'text') 
      ->add('description', 'text') 
    ; 
} 

내가 자바 스크립트를 추가, 당신이 나를 도울 수있는 방법 내가 할 수있는 "이름"전에 몰라?

+0

당신이 특정 분야에 대한 자바 스크립트를 추가해야합니까를 (이 경우'name' 필드)? 당신은 무엇을하고 싶은지 더 많이 말해 줄 수 있습니까? –

+0

아약스에서 자동 완성 이름을 만들고 싶습니다. – tengopl

+0

감사합니다. 이제 대답해야 할 것이 있습니다. 잠깐, 내가 너에게 답을 쓸거야. –

답변

15

나를 위해 사용 :

관리 클래스에서 SRC \ PP \ TestBundle \ TestAdmin.php

public function configure() { 
    $this->setTemplate('edit', 'PPTestBundle:CRUD:edit_javascript.html.twig'); 
} 

SRC \ PP \ TestBundle \ 자료 \ 전망 \에서 edit_javascript.html .twig

{% extends 'SonataAdminBundle:CRUD:base_edit.html.twig' %} 
{% block javascripts %} 
{{ parent() }} 
<script src="{{ asset('bundles/pptest/admin/js/myscripts.js') }}" type="text/javascript"></script> 
{% endblock %} 

당신이 모든 것을 할 때 요 u myscript를 업로드했습니다.JS 당신은 명령 줄에서이 문제를 보내야합니다 :

app/console assets:install web 

(수 뭔가 잊었) 내 나쁜 영어

죄송합니다 : <>

+0

번들에서 자산을 설치해야하는 경우 리소스를 복사하지 않으려면 대신'app/console assets : install web --symlink'를 사용하십시오. –

4

편집을 할 당신은 (당신이 바로 위젯 코드 전에 자바 스크립트 코드를 삽입 할 수있다) 그것에 대한 사용자 정의 나뭇 가지 템플릿을 작성해야

.

그런 다음 사용자 정의 템플릿이 symfony와 SonataAdmin이 인식하도록 허용하는 ap/config/config.yml 내부에 씁니다.

당신은 여기에 몇 가지 정보를 Sonata Admin - Custom template

2 º 여기 customize field types

예는 이런 일이 될 수 상세 정보 :

관리 클래스

protected function configureFormFields(FormMapper $formMapper) { 
    $formMapper 
      ->add('name', 'ajax_autocomplete') 
      ->add('description', 'text') 
    ; 
} 

그리고 TWIG 템플릿에서 필요에 맞는 Sonata Admin 필드 템플릿에서 확장해야합니다.

당신이 XXXBundle:YYY:ajax_autocomplete.html.twig

내부 사용자 지정 서식에 놓여있다 상상해 vendor\sonata-project\admin-bundle\Sonata\AdminBundle\Resources\views\CRUD

사용자 정의 :이 경우 어쩌면 base_edit.html.twig 또는

edit_text.html.twig이 소나타 관리자 디렉토리 내부에서 확장 할 수있는 템플릿 목록이

여기에 줄을 쓰면 제대로 작동해야한다고 생각합니다.

sonata_doctrine_orm_admin: 
    templates: 
     types: 
      list: 
       ajax_autocomplete: XXXBundle:YYY:ajax_autocomplete.html.twig 
+0

그래도 오류가 표시됩니다. "템플릿"옵션이 없습니다. 알려진 옵션은 다음과 같습니다 : "action", "attr", "auto_initialize"(...) – tengopl

+0

그럼 대답을 업데이트하겠습니다. 제발, 제발. –

+0

다음과 같은 의미입니다. 생성/편집 페이지에서 맞춤 템플릿을 사용할 수 없습니다. ## EDIT ## 아마 필터를 사용해야합니까? – tengopl