На предыдущий вопрос я объяснил, что хочу хранить изображения (по крайней мере, имя файла) в объекте Symfony.
Я последовал ответам и установил ComurImageBundle в своем проекте, следуя руководство в Readme.
Кажется, он работает хорошо, поскольку он отображает кнопку для выбора изображения и слот изображения. Но кнопка ничего не делает. Консоль выводит мне ошибку:
TypeError: $(...).fileupload is not a function
Он добавляется в строку $ ('# image_upload_file'). fileupload ({... в файле comur.imageLibrary.js.
Я знаю, что с порядком импорта непросто. Я сделал вот так:
<head>
...
<!-- Latest compiled and minified CSS -->
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity = "sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin = "anonymous">
<!-- Optional theme -->
<link rel = "stylesheet" href = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity = "sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin = "anonymous">
<script src = "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src = "https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity = "sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin = "anonymous"></script>
</head>
<body>
{% include "ComurImageBundle:Form:croppable_image_modal.html.twig" %}
<script src = "{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src = "{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
{my form with the button}
...
Надеюсь, что кто-то уже сталкивался с этой проблемой ...
Спасибо за ваши ответы.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я видел ваш комментарий в другом сообщении и решил ответить вам здесь, если вы используете формы и блоки из веток, поэтому
1 / Вы должны вызвать изображение Comur под "блоком тела" вот так
{% block body -%}
{% include "ComurImageBundle:Form:croppable_image_modal.html.twig" with {'include_jquery': false, 'include_bootstrap': false} %}
(ваша форма) ....
{% endblock%}
2 / Для вызова файлов Js вы должны вызывать их в «блоке javascript» и не забывать веб-вызов маршрута, например:
{% block javascripts %}
<script src = "{{ asset('bundles/fosjsrouting/js/router.js') }}"></script>
<script src = "{{ path('fos_js_routing_js', {"callback": "fos.Router.setData"}) }}"></script>
<script>var routeweb = "{{ app.request.getSchemeAndHttpHost() }}{{ app.request.getBaseURL() }}";</script>
{% endblock %}
3 / И чтобы быть уверенным, что изображение будет загружено, попробуйте получить доступ к вашей форме напрямую через Интернет, это означает доступ к
localhost/your_project/web/your_route/new
хотя это
localhost/your_project/web/app_dev/your_route/new
вы должны поместить JS-скрипты в «block javascript», как я уже сказал, я думаю, что программа ищет JS и не может их найти, потому что вы вызываете их не в том месте
Все шаблоны twig расширяют другой, содержащий все сценарии JS. Когда я пытаюсь поставить импорт скриптов до {% include "Comur ...%}, я получаю другие ошибки.