Используя FreeMarker, я хотел был бы иметь возможность загружать различные таблицы стилей или javascript в различных шаблонах. Моя проблема может быть в моей реализации.Используйте другой скрипт css или java на странице с помощью freemarker
У меня есть один макрос макет, который выглядит следующим образом:
<#macro layout>
<!DOCTYPE html>
<html lang="en">
<head>
<!-- common javascript and css references here -->
</head>
<body>
<div class="container">
<!-- header stuff -->
<#nested>
<!-- footer stuff -->
</div>
</body>
</html>
</#macro>
я использую это во всех шаблонах, как это:
<!-- "declare" specific css or js here -->
<@layout.layout>
<div id="mapid">
<!-- use specific css or js -->
</div>
</@layout.layout>
В некоторых моих шаблонах я хотел бы использовать специальные таблицы стилей или библиотеки javascript, которые применяются к общему случаю. Каков наилучший подход для этого?
Я попытался передать переменную в макет макета, чтобы вставить ссылки css и js, но я не нашел простого способа назначить блок текста с помощью #assign.
Не уверен, где вы застряли, или почему вам нужно заблокировать назначение (который выглядит как '<#local foo> ...#local>' или то же самое с '# assign' или' # global'). Прежде всего, исходя из того, что вы хотите решить, какой CSS или JS включить? Например, вы хотите, чтобы MVC-контроллер решил это или хотите закодировать это в шаблоне, или вы хотите, чтобы он зависел от расположения шаблона или ...? – ddekany
Решение включить различные javascript или css зависит от цели шаблона. Например, у меня есть шаблон, который я использую для отображения отчетов. Нет никаких оснований для того, чтобы какой-либо другой шаблон требовал использовать javascript для этого. Спасибо за ответ. Я буду исследовать <#local>. – pdeline
@ddekany Я не вижу, как <#local> поможет мне. Его можно использовать только в макро или функции. Я ни в каком контексте. – pdeline