Серверная часть TYPO3: зарегистрируйте новый обработчик Ajax для записей 1:n

По умолчанию TYPO3 содержит кнопку для создания новых встроенных записей, которая загружает новую пустую маску. Можно ли реализовать "настраиваемую" кнопку с собственным функционалом? Например, возвращать несколько записей вместо одной и предварительно заполнять некоторые поля?

Кнопка Ajax Handler для создания нового встроенного отношения

1 ответ

Прежде всего вы можете найти и переопределить (XCLASS) базовый класс, который отвечает за эти встроенные элементы. Но встроенные элементы являются огромным элементом в ядре, и любая модификация может сопровождаться неожиданным поведением. Поэтому я не советую вам модифицировать базовую функцию встроенного элемента.

Так что, возможно, вы должны сделать это сами. Вы можете добавить настраиваемое поле TCA, которое вызывает функцию PHP, чтобы создать свою собственную кнопку: https://docs.typo3.org/typo3cms/TCAReference/ColumnsConfig/Type/User.html Внутри функции PHP вы также можете использовать PageRenderer. чтобы включить собственный сценарий RequireJS в свой бэкэнд: https://docs.typo3.org/typo3cms/CoreApiReference/ApiOverview/JavaScript/RequireJS/Index.html

В вашем расширении вы можете зарегистрировать AjaxRoute, который можно вызвать из вашего скрипта RequireJS: https://werkraum.net/devblog/detail/article/backend-routes-ajax-typo3-76/

Вероятно, целью вашего собственного AjaxRoute является функция, которая будет возвращать ваши новые встроенные элементы, которые могут быть обработаны в вашем собственном скрипте RequireJS.

После выполнения этих шагов у вас, вероятно, появится собственная функция "inline record". Затем вы должны убедиться, что вы сохраняете свои новые элементы должным образом.

Другие вопросы по тегам