Есть ли способ определить дополнительные макросы в Apache Freemarker? - PullRequest
0 голосов
/ 21 декабря 2018

Использование макросов для разработки унаследованного макета страницы.Мой основной макет веб-страницы выглядит следующим образом

mainlayout.ftl

<div>
   <@head/>
   <@body/>
</div>

Теперь страница, включающая mainlayout.ftl, выглядит примерно так и может содержать макрокоманду заголовка

page1.ftl

<#include "/mainlayout.ftl"/>
<#macro body>
 ...........
</#macro>

Поскольку файл maylayout.ftl ожидает макрос @head, он выдает ошибку при отображении страницы.

Есть ли способ сделать макрос @head необязательным?

1 Ответ

0 голосов
/ 06 февраля 2019

Определите пустой макрос для головы в вашем mainlayout.ftl, и вам придется определить его в page1.ftl.

mainlayout.ftl

<#macro head></#macro>

<div>
   <@head/>
   <@body/>
</div>

page1.ftl

<#include "/mainlayout.ftl"/>
<#macro body>
 ...........
</#macro>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...