TYPO3 8.7.17 ext:form - Как повторно использовать Stage/Fieldset?

все!

Я использую расширение form и хочу создать собственные элементы формы.

Мне нужно создать несколько строк из определенного списка полей... Что-то вроде этого:

Пример пользовательского элемента формы, который мне нужен.

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

Пользовательское поле

Это мой код:

// EXT:my_ext/Configuration/Yaml/BaseSetup.yaml
TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formEditor:
            formEditorPartials:
              FormElement-FieldRow: 'Stage/SimpleTemplate'

          formElementsDefinition:
            Form:
              renderingOptions:
                templateRootPaths:
                  100: 'EXT:my_ext/Resources/Private/ext/form/Frontend/Templates/'
                partialRootPaths:
                  100: 'EXT:my_ext/Resources/Private/ext/form/Frontend/Partials/'
                layoutRootPaths:
                  100: 'EXT:my_ext/Resources/Private/ext/form/Frontend/Layouts/'
            FieldRow:
              __inheritances:
                10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.Fieldset'


// EXT:my_ext/Configuration/Yaml/FormEditorSetup.yaml
TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formEditor:
            dynamicRequireJsModules:
              additionalViewModelModules:

            formEditorPartials:
              FormElement-FieldRow: 'Stage/SimpleTemplate'

          formElementsDefinition:
            FieldRow:
              formEditor:
                label: 'formEditor.elements.FieldRow.label'
                group: container
                _isCompositeFormElement: true
                groupSorting: 1000
                iconIdentifier: 't3-form-icon-fieldrow'
                editors:
                  200:
                    label: 'formEditor.elements.FieldRow.editor.label.label'
                  230: null
                  800: null

Я что-то упускаю?

Большое спасибо.


person Giovanni Romero Pérez    schedule 30.07.2018    source источник


Ответы (1)


Чтобы исправить проблему с отображением имени и типа поля, я отредактировал EXT:my_ext/Configuration/Yaml/FormEditorSetup.yaml, добавив модель представления (TYPO3.CMS.Form.prototypes.standard.formEditor.dynamicRequireJsModules.additionalViewModelModules):

// EXT:my_ext/Configuration/Yaml/FormEditorSetup.yaml
TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formEditor:
            dynamicRequireJsModules:
              additionalViewModelModules:
                - 'TYPO3/CMS/UnalForm/Backend/FormEditor/FieldRowViewModel'

После этого я создал файл JavaScript Resources/Public/JavaScript/Backend/FormEditor/FieldRowElementViewModel.js для правильного отображения моего пользовательского элемента в области рабочей области.

person Giovanni Romero Pérez    schedule 30.07.2018