Формы TYPO3: добавление пользовательских типов ввода - PullRequest
0 голосов
/ 28 марта 2019

Я пытаюсь добавить пользовательские типы ввода для форм расширения TYPO3. Мне нужен какой-то указатель времени (не указатель даты) и два поля, предварительно заполненные из переменных сеанса.

Это YAML-определение этих пользовательских типов ввода:

TYPO3:
  CMS:
    Form:
      renderingOptions:
        __inheritances:
          partialRootPaths:
            66: 'EXT:rdforms/Resources/Private/Frontend/Partials/'      
      prototypes:
        standard:
          formElementsDefinition:
            SingleSelectWithBsnr:
              __inheritances:
                10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.SingleSelect'
              implementationClassName: 'KVT\Rdforms\Domain\Model\FormElements\BsnrOptions'
              renderingOptions:
                templateName: 'SingleSelect'
            SingleSelectWithLanr:
              __inheritances:
                10: 'TYPO3.CMS.Form.prototypes.standard.formElementsDefinition.SingleSelect'
              implementationClassName: 'KVT\Rdforms\Domain\Model\FormElements\LanrOptions'
              renderingOptions:
                templateName: 'SingleSelect'
            Time:
              __inheritances:
                10: 'TYPO3.CMS.Form.mixins.formElementMixins.TextMixin'
              properties:
                displayFormat: 'H:i'
                fluidAdditionalAttributes:
                  pattern: '([012][0-9]:[0-5][0-9])'
              renderingOptions:
                templateName: 'Time'

Моя форма конфигурации теперь получает что-то вроде


renderingOptions:
  submitButtonLabel: Speichern
type: Form
identifier: erfassung
label: erfassung
prototypeName: standard
renderables:
  -
    renderingOptions:
      previousButtonLabel: 'Previous step'
      nextButtonLabel: Speichern
    type: Page
    identifier: page-1
    label: 'Erfassung Einsätze'
    renderables:
      -
        type: GridRow
        identifier: gridrow-2
        label: Stammdaten
        renderables:
          -
            type: SingleSelectWithBsnr
            identifier: singleselect-1
            label: BSNR
            properties:
              bsnr: 1
              prependOptionLabel: 'Bitte auswählen'
              fluidAdditionalAttributes:
                required: required
              gridColumnClassAutoConfiguration:
                viewPorts:
                  lg:
                    numbersOfColumnsToUse: '2'
                  sm:
                    numbersOfColumnsToUse: '6'
            validators:
              -
                identifier: NotEmpty
      -
        properties:
          minimumCopies: 0
          maximumCopies: 10
          showRemoveButton: true
          copyButtonLabel: 'Einsatz hinzufügen'
          removeButtonLabel: 'Einsatz entfernen'
        type: RepeatableContainer
        identifier: repeatablecontainer-1
        label: Einsätze
        renderables:
          -
            type: GridRow
            identifier: gridrow-1
            label: 'Grid: Row'
            renderables:
              -
                defaultValue: ''
                properties:
                  fluidAdditionalAttributes:
                    step: 1
                    required: required
                type: Time
                identifier: number-1
                label: 'Dienst beginn'
                validators:
                  -
                    identifier: NotEmpty
              -
                defaultValue: ''
                properties:
                  fluidAdditionalAttributes:
                    step: 1
                    required: required
                type: Time
                identifier: number-2
                label: 'Dienst Ende'
                validators:
                  -
                    identifier: NotEmpty

Конечно, у меня есть партиал для таймера в моей директории Partals. И у меня есть класс KVT \ Rdforms \ Domain \ Model \ FormElements \ BsnrOptions, который доставляет некоторые тестовые данные.

Но все, что я получаю, это зашифрованное (не полезное) сообщение об ошибке без подсказок, где оно ломается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...