Symfony 2: Как генерировать пути к изображениям в файле javascript? - PullRequest
4 голосов
/ 15 марта 2012

Я давно гуглю это! Мне нужно показывать изображения в каком-либо меню и наведении мыши. Код написан в файле js. Но путь изображения должен быть сгенерирован. Есть ли способ генерировать пути к изображениям, используя что-то вроде этого

{{asset ('bundles / mybundle / images / menu_down.png')}}

Может ли FOSJsRoutingBundle генерировать пути к изображениям в файлах js?

Ответы [ 3 ]

13 голосов
/ 15 марта 2012

Вы можете установить глобальные переменные JS на вашей реальной странице:

<script>
    var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}";
</script>

А затем установите в своем файле javascript вызов глобальной переменной: window.menuDownUrl

Затем создает зависимость внутри вашего файла javascript, но позволяет вам динамически устанавливать это изображение.

8 голосов
/ 26 августа 2014

Вы можете скрыть ввод и указать путь к изображению.

<input type="hidden" id="img_path" value="{{ asset('images/circle_loading.gif') }}">

После этого в jQuery вы можете использовать его вот так

var img  = "<img src=\'"+ $("#img_path").val() +"\'>";
$("div").html(img);
6 голосов
/ 04 апреля 2012

Согласен с Ник ответом, но он забыл "кавычки" вокруг {{asset (...)}}.

Так и должно быть написано так:

 var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 

, если вы хотите, чтобы window.menuDownUrl работал и не выводил вас "undefined"

...