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

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

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


person Mikel Wohlschlegel    schedule 20.07.2018    source источник


Ответы (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.

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

person Paul Beck    schedule 21.07.2018
comment
Хорошо, спасибо за ответ. Похоже на большие усилия, которые в моем случае не укладываются в сроки проекта. Я решил справиться с этим, обработав своим собственным обработчиком данных, сгенерировал новые записи при сохранении ... - person Mikel Wohlschlegel; 06.08.2018