Как создать собственный обработчик форм в Магнолии? - PullRequest
0 голосов
/ 10 июля 2019

Задача

Я создал пользовательское приложение в Магнолии, которое отображает форму.

⋅ Приложение отображает некоторую информацию из jcr

⋅ Пользователь вносит изменения в эту форму и отправляет

⋅ Как сохранить эти изменения?

В соответствии с документацией магнолии необходим специальный процессор форм.

Что я сделал:

  1. Создан пользовательский обработчик форм /modules/form/templates/components/myFormProcessor node

  2. Java класс

public class Bla extends AbstractFormProcessor {

    @Override
    protected void internalProcess(Node content, Map<String, Object> parameters) throws FormProcessorFailedException {
        final String stopHere = "•••";
    }
}

  1. Установить действие формы
<form action="./persistMyChanges" method="POST">
   •••
</form>

К сожалению, отладчик не остановится на stopHere.

Что мне здесь не хватает?

1 Ответ

0 голосов
/ 25 июля 2019

Так как сообщества магнолий не существует, вот что я сделал:

В моем случае не работал обработчик пользовательских форм. Я просто хотел обработать запрос, но чтобы сделать это так, как вам нужно:

⋅ Добавить компонент формы в шаблон

⋅ Определите свой шаблон в любом из трех типов ( страница | область | компонент ) где Шаблон ⊆ Страница ⊆ Область ⊆ Компонент

⋅ Тогда вы должны использовать директивы, которые зависят от вашей конфигурации, в моем случае это было бы так: [@cms.area name="main"]

⋅ Я начал получать ошибки шаблона, такие как:

The following has evaluated to null or missing:
==> stkfn [in template "templating-kit/pages/section/contentArea.ftl" at line 7, column 38]

Не удалось решить эту проблему даже с помощью поддержки предприятия Magnolia.

Я решил это с помощью фильтра .

...