Как включить раздел экрана в файл freemarker - PullRequest
0 голосов
/ 11 мая 2018

В moqui, как включить раздел экрана в файл * .ftl. Я пытался использовать <#include "component: // path-to-screen">, но ничего не произошло. В ofbiz я могу использовать этот шаблон:

$ {screens.render ( "компонент: //common/widget/CommonScreens.xml#myScreen")}

Что такое похожий рисунок в moqui ???

1 Ответ

0 голосов
/ 11 мая 2018

В экранах Moqui XML все элементы XML реализованы с использованием макросов FTL. Для вывода HTML вы можете увидеть макросы по умолчанию (OOTB) в файле runtime / template / screen-macro / DefaultScreenMacros.html.ftl. Элемент XML, используемый для включения разделов других экранов: section-include . Поскольку нет классов Java / Groovy, которые обрабатывают элементы экрана XML, вы можете видеть все в макросах.

В этом случае рассматриваемый вызов API Moqui находится в классе ScreenRenderImpl, который доступен на экранах, поскольку они отображаются в переменной 'sri'. Вот соответствующая строка из макроса FTL с включенным экраном:

${sri.renderSection(.node["@name"])}

Метод renderSection () принимает аргумент String с именем раздела на текущем экране или полностью определенным местоположением экрана, а также хэш и имя раздела, как в вашем примере.

...