Функция importmap
Функция importmap вызывается в Twig-шаблоне
и генерирует тег script с типом importmap.
Этот тег сообщает браузеру, по каким адресам
искать JavaScript-модули. Первым параметром
передаётся имя точки входа (entry point),
которое было описано в файле importmap.php.
Функция удобна при работе с AssetMapper -
встроенным в Symfony менеджером ассетов.
Синтаксис
{{ importmap('entry_name') }}
Пример
Давайте создадим точку входа app в файле
importmap.php:
<?php
return [
'app' => [
'path' => './assets/app.js',
'entrypoint' => true,
],
];
?>
Теперь подключим её в базовом шаблоне через
функцию importmap:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>{% block title %}Welcome!{% endblock %}</title>
{{ importmap('app') }}
</head>
<body>
{% block body %}{% endblock %}
</body>
</html>
Результат выполнения кода:
<script type="importmap">{"imports":{"app":"./assets/app.js"}}</script>
Пример
Давайте передадим в функцию несколько точек входа:
<?php
return [
'app' => [
'path' => './assets/app.js',
'entrypoint' => true,
],
'admin' => [
'path' => './assets/admin.js',
'entrypoint' => true,
],
];
?>
Теперь вызовем обе точки входа в шаблоне:
{{ importmap(['app', 'admin']) }}
Результат выполнения кода:
<script type="importmap">{"imports":{"app":"./assets/app.js","admin":"./assets/admin.js"}}</script>
Смотрите также
-
функция
asset,
которая возвращает путь к статическому файлу -
функция
absolute_url,
которая возвращает абсолютный URL -
функция
relative_path,
которая возвращает относительный путь -
тег
extends,
который наследует шаблон от другого