0
votes

Hello I have make a form finisher, but I have some Problem. in BE I can select in, but no fields are loaded.

Here the code from the BaseSetup.yaml

TYPO3:
   CMS:
     Form:
       prototypes:
         standard:
           formElementsDefinition:
             Form:
               renderingOptions:
                 translation:
                   translationFile:
                     '10': 'EXT:form/Resources/Private/Language/locallang.xlf'
                     '20': 'EXT:formfinisher/Resources/Private/Language/locallang.xlf'
           finishersDefinition:
            EmailPdf:
              implementationClassName: 'IL\Formfinish\Domain\Finishers\EmailPdfFinisher'

And this is the Code FormEditorSetup.yaml

TYPO3:
  CMS:
    Form:
      ########### FORM MANAGER CONFIGURATION ###########
      formManager:
        translationFile:
          10: 'EXT:form/Resources/Private/Language/Database.xlf'
          20: 'EXT:formfinisher/Resources/Private/Language/Database.xlf'
      ########### FORMEDITOR CONFIGURATION ###########
      prototypes:
        standard:
          formEditor:
            translationFile:
              10: 'EXT:form/Resources/Private/Language/Database.xlf'
              20: 'EXT:formfinisher/Resources/Private/Language/Database.xlf'
          ########### DEFAULT FORM ELEMENT DEFINITIONS ###########
          formElementsDefinition:
            Form:
              formEditor:
                editors:
                  900:
                    selectOptions:
                      1491637029:
                        value: 'EmailPdf'
                        label: 'Email with Pdf'
                        
                propertyCollections:
                  finishers:
                    50:
                      identifier: 'EmailPdf'
                      editors:
                        __inheritances:
                          10: 'TYPO3.CMS.Form.mixins.formElementMixins.BaseCollectionEditorsMixin'
                        100:
                         label: 'Email with Pdf'
                        200:
                         identifier: 'subject'
                         templateName: 'Inspector-TextEditor'
                         label: 'formEditor.elements.Form.finisher.EmailToSender.editor.subject.label'
                         propertyPath: 'options.subject'
                         enableFormelementSelectionButton: true
                         propertyValidators:
                          10: 'NotEmpty'
                          20: 'FormElementIdentifierWithinCurlyBracesInclusive'
                        300:
                         identifier: 'pdfOrt'
                         templateName: 'Inspector-TextEditor'
                         label: 'Pdf Ort'
                         propertyPath: 'options.subject'
                         enableFormelementSelectionButton: true
                         propertyValidators:
                           10: 'NotEmpty'
                           20: 'FormElementIdentifierWithinCurlyBracesInclusive'
                        400:
                         identifier: 'pdfAddress'
                         templateName: 'Inspector-TextEditor'
                         label: 'Pdf Address'
                         propertyPath: 'options.subject'
                         enableFormelementSelectionButton: true
                         propertyValidators:
                           10: 'NotEmpty'
                           20: 'FormElementIdentifierWithinCurlyBracesInclusive'
                        500:
                         identifier: 'recipientAddress'
                         templateName: 'Inspector-TextEditor'
                         label: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.label'
                         propertyPath: 'options.recipientAddress'
                         enableFormelementSelectionButton: true
                         propertyValidatorsMode: 'OR'
                        propertyValidators:
                          10: 'NaiveEmail'
                          20: 'FormElementIdentifierWithinCurlyBracesExclusive'
                        fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientAddress.fieldExplanationText'
                        600:
                         identifier: 'recipientName'
                         templateName: 'Inspector-TextEditor'
                         label: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.label'
                         propertyPath: 'options.recipientName'
                         enableFormelementSelectionButton: true
                         propertyValidators:
                           10: 'FormElementIdentifierWithinCurlyBracesInclusive'
                         fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.recipientName.fieldExplanationText'
                        700:
                         identifier: 'senderAddress'
                         templateName: 'Inspector-TextEditor'
                         label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.label'
                         propertyPath: 'options.senderAddress'
                         enableFormelementSelectionButton: true
                         propertyValidatorsMode: 'OR'
                         propertyValidators:
                           10: 'NaiveEmail'
                           20: 'FormElementIdentifierWithinCurlyBracesExclusive'
                         fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderAddress.fieldExplanationText'
                        800:
                          identifier: 'senderName'
                          templateName: 'Inspector-TextEditor'
                          label: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.label'
                          propertyPath: 'options.senderName'
                          enableFormelementSelectionButton: true
                          propertyValidators:
                            10: 'FormElementIdentifierWithinCurlyBracesInclusive'
                          fieldExplanationText: 'formEditor.elements.Form.finisher.EmailToSender.editor.senderName.fieldExplanationText'
                        900:
                         identifier: 'replyToAddress'
                         templateName: 'Inspector-TextEditor'
                         label: 'formEditor.elements.Form.finisher.EmailToSender.editor.replyToAddress.label'
                         propertyPath: 'options.replyToAddress'
                         enableFormelementSelectionButton: true
                         propertyValidatorsMode: 'OR'
                         propertyValidators:
                           10: 'NaiveEmailOrEmpty'
                           20: 'FormElementIdentifierWithinCurlyBracesExclusive'
                        1000:
                         identifier: 'carbonCopyAddress'
                         templateName: 'Inspector-TextEditor'
                         label: 'formEditor.elements.Form.finisher.EmailToSender.editor.carbonCopyAddress.label'
                         propertyPath: 'options.carbonCopyAddress'
                         enableFormelementSelectionButton: true
                         propertyValidatorsMode: 'OR'
                         propertyValidators:
                           10: 'NaiveEmailOrEmpty'
                           20: 'FormElementIdentifierWithinCurlyBracesExclusive'
                        1100:
                          identifier: 'blindCarbonCopyAddress'
                          templateName: 'Inspector-TextEditor'
                          label: 'formEditor.elements.Form.finisher.EmailToSender.editor.blindCarbonCopyAddress.label'
                          propertyPath: 'options.blindCarbonCopyAddress'
                          enableFormelementSelectionButton: true
                          propertyValidatorsMode: 'OR'
                          propertyValidators:
                            10: 'NaiveEmailOrEmpty'
                            20: 'FormElementIdentifierWithinCurlyBracesExclusive'
                        1200:
                          identifier: 'format'
                          templateName: 'Inspector-SingleSelectEditor'
                          label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.label'
                          propertyPath: 'options.format'
                          selectOptions:
                           10:
                             value: 'plaintext'
                             label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.1'
                           20:
                             value: 'html'
                             label: 'formEditor.elements.Form.finisher.EmailToSender.editor.format.2'
                        1300:
                          identifier: 'attachUploads'
                          templateName: 'Inspector-CheckboxEditor'
                          label: 'formEditor.elements.Form.finisher.EmailToSender.editor.attachUploads.label'
                          propertyPath: 'options.attachUploads'

          finishersDefinition:
                      EmailPdfFinisher:
                        formEditor:
                          iconIdentifier: 't3-form-icon-finisher'
                          label: 'A Label that seems to be never used...'
                          predefinedDefaults:
                            options:
                              subject: ''
                              pdfOrt: ''   
                              pdfAddress: ''
                              recipientAddress: ''
                              recipientName: ''
                              senderAddress: ''
                              senderName: ''
                              replyToAddress: ''
                              carbonCopyAddress: ''
                              blindCarbonCopyAddress: ''
                              format: 'html'
                              attachUploads: true

And the FormEnginSetup looks like this

TYPO3:
  CMS:
    Form:
      prototypes:
        standard:
          formEngine:
            translationFile:
              10: 'EXT:form/Resources/Private/Language/Database.xlf'
              20: 'EXT:formfinisher/Resources/Private/Language/Database.xlf'

          ### FINISHERS ###
          finishersDefinition:
            # Flexform
            EmailPdf:
              FormEngine:
               label: 'Pdf dings'
               elements:
                 subject:
                  label: 'tt_content.finishersDefinition.EmailToSender.subject.label'
                  config:
                     type: 'input'
                     eval: 'required'
                 recipientAddress:
                  label: 'tt_content.finishersDefinition.EmailToSender.recipientAddress.label'
                  config:
                    type: 'input'
                    eval: 'required'
                  recipientName:
                    label: 'tt_content.finishersDefinition.EmailToSender.recipientName.label'
                    config:
                      type: 'input'
                  senderAddress:
                    label: 'tt_content.finishersDefinition.EmailToSender.senderAddress.label'
                    config:
                      type: 'input'
                      eval: 'required'
                  senderName:
                    label: 'tt_content.finishersDefinition.EmailToSender.senderName.label'
                    config:
                      type: 'input'
                  pdfOrt:
                    label: 'Pdf Ort'
                    config:
                      type: 'input'
                      eval: 'required'
                  pdfAddress:
                    label: 'Pdf Address'
                    config:
                      type: 'input'
                      eval: 'required'
                  replyToAddress:
                    label: 'tt_content.finishersDefinition.EmailToSender.replyToAddress.label'
                    config:
                      type: 'input'
                  carbonCopyAddress:
                    label: 'tt_content.finishersDefinition.EmailToSender.carbonCopyAddress.label'
                    config:
                      type: 'input'
                  blindCarbonCopyAddress:
                    label: 'tt_content.finishersDefinition.EmailToSender.blindCarbonCopyAddress.label'
                    config:
                      type: 'input'
                  format:
                    label: 'tt_content.finishersDefinition.EmailToSender.format.label'
                    config:
                      type: select
                      renderType: 'selectSingle'
                      minitems: 1
                      maxitems: 1
                      size: 1
                      items:
                        10:
                         0: 'tt_content.finishersDefinition.EmailToSender.format.1'
                         1: 'html'
                        20:
                         0: 'tt_content.finishersDefinition.EmailToSender.format.2'
                         1: 'plaintext'

and in the frontend I get the following error message

The finisher preset identified by "EmailPdf" could not be found, or the implementationClassName was not specified.

1
Is the formatting exactly as in your code? If not please fix this first since that's the first thing people will ask you to do.Mathias Brodala
no its exactly the sameMichael Müller
Well then please fix your code first, indentation is essential for YAML.Mathias Brodala
ok i have fixed it but the same problemMichael Müller
I have edit the post with the original YamlMichael Müller

1 Answers

0
votes

I had a similar Problem. BE just worked fine, but de FE ended up in errors as i added the finisher.

In my case the FE typoscript didn't get loaded the correct way. You can check that in the template -> typoscript object browser.