jQuery 플러그인 imgAreaSelect (website)를 사용하여 Symfony2에서 새로운 양식 유형으로 이미지 자르기를 만듭니다. 내 양식 유형 템플릿 (imagecropper_widget.html.twig)에서 jQuery 및 플러그인 라이브러리를로드합니다.Symfony2 양식 서식 파일에서 javascript flles 추가
jQuery가 내 base.html.twig에도로드되어 있으므로 플러그인 라이브러리의 함수가 더 이상 작동하지 않습니다. Firebug는 "함수가 아닙니다"라는 오류를 발생시킵니다. 내 base.html.twig에서 jQuery를 제거하면 잘 작동하지만 솔루션이 아닙니다.
내가 자바 스크립트 블록에 필요한 순간에 필요한 자바 스크립트 파일을 추가하는 방법이 있다면 좋을 것입니다. 내 테마에서 javascripts 블록을 덮어 쓰려고했지만 Symfony는 다른 템플릿을 사용하거나 확장하지 않기 때문에 오류가 발생합니다.
그렇다면 javascript 파일을 base.html.twig 페이지에있는 블록에 추가 할 수있는 합법적 인 방법이 있습니까? base.html.twig에서
자바 스크립트 블록 :
{% block javascripts %}
{% javascripts '@jquery_js' '@bootstrap_js' filter='?yui_js' combine=true %}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
imagecropper_widget.html.twig
{% block imagecropper_widget %}
{% spaceless %}
<h2>Select the area</h2>
<img src="http://localhost/project/web/test.jpg" id="imgc" style="width:100%" />
{% block javascripts %}
{% javascripts
'@jquery_js'
'bundles/imanagecmsfield/js/jquery.imgareaselect.js'
'bundles/imanagecmsfield/js/process.js'
filter="?yui_js"
%}
<script src="{{ asset_url }}"></script>
{% endjavascripts %}
{% endblock %}
{% endspaceless %}
{% endblock %}
여러분의 도움에 감사드립니다!
이 경우'{% extends ':: base.html.twig'%}'또는'{% use ':: base.html.twig'%}'를 사용합니까? 'use'를 사용하면 Symfony가 템플릿 Template :: :: base.html.twig를 특성으로 사용할 수 없습니다. – Stefan
{% extends ':: base.html.twig'%}를 사용합니다. 기본 템플릿에서 상속받을 때 "사용"이 의미가 있는지 확실하지 않습니다. 그러나 나는이 시나리오를 본 적이 없다. – christoph
확장 기능은보기에 효과적입니다. 이 경우 템플리트는 양식 유형 용입니다. 심지어 위젯 블록을 찾기 때문에 템플릿 파일에서 해당 블록을 사용할 수 없습니다. 나는 최고의 솔루션에서 멀리 떨어져있는 뷰 템플릿을 통해 자바 스크립트를 주입하는 것에 다시 실패해야만한다. – Stefan