TYPO3 Formhandler装订器不写入数据库

时间:2014-08-22 06:33:47

标签: database forms webforms content-management-system typo3

客户的TYPO3(6.1.7)网站上线后,Formhandler表单不再正常工作。他们确实发送了一封电子邮件,但似乎他们不再执行Finisher_DB写入数据库了。

TypoScript设置如下所示:

plugin.Tx_Formhandler.settings {

  debug = 0

  # GENERAL CONFIGURATION
  name = Default
  addErrorAnchors = 1
  formValuesPrefix = formhandler

  fillValueMarkersBeforeLangMarkers = 1

  # ERRORS LAYOUT
  singleErrorTemplate {
    totalWrap = <div>|</div>
    singleWrap = <span class="error">|</span><br />
  }

  errorListTemplate {
    totalWrap = <ul>|</ul>
    singleWrap = <li class="error">|</li>
  }

  validators {
    1.class = Tx_Formhandler_Validator_Default
    1.config {
      fieldConf {
        wish.errorCheck.1 = required 
        alternative.errorCheck.1 = required 
        firstname.errorCheck.1 = required 
        surname.errorCheck.1 = required 
        nationality.errorCheck.1 = required 
        dateofbirth.errorCheck.1 = required 
        phone.errorCheck.1 = required 
        email.errorCheck.1 = required 
        street.errorCheck.1 = required 
        zip.errorCheck.1 = required 
        city.errorCheck.1 = required 
        country.errorCheck.1 = required 
      }
    }
  }

  # Finishers configuration
  finishers {
    1.class = Tx_Formhandler_Finisher_Mail
    1.config {
      checkBinaryCrLf = registrationMessagePlain, registrationMessageHtml
      limitMailsToUser = 10
      admin {
      }
      user {
      }
    }

    2.class = Tx_Formhandler_Finisher_DB
    2.config{
      table = tx_chilifhregistration
      key = uid

      fields {
        timeslot = Sommerplatz
        timeslot_july.mapping = timeslotSummerJuly
        timeslot_august.mapping = timeslotSummerAugust
        timeslot_september.mapping = timeslotSummerSeptember

        wish.mapping = wish
        wishcategory11.mapping = wishCategory11
        wishcategory19.mapping = wishCategory19
        wishcategory22.mapping = wishCategory22
        wishcategorydb.mapping = wishCategoryDb

        alternative.mapping = alternative
        alternativecategory11.mapping = alternativeCategory11
        alternativecategory19.mapping = alternativeCategory19
        alternativecategory22.mapping = alternativeCategory22
        alternativecategorydb.mapping = alternativeCategoryDb

        salutation.mapping = salutation
        firstname.mapping = firstname
        surname.mapping = surname
        nationality.mapping = nationality
        dateofbirth.mapping = dateofbirth
        phone.mapping = phone
        email.mapping = email
        street.mapping = street
        zip.mapping = zip
        city.mapping = city
        country.mapping = country

        salutation2.mapping = salutation2
        firstname2.mapping = firstname2
        surname2.mapping = surname2
        nationality2.mapping = nationality2
        dateofbirth2.mapping = dateofbirth2
        phone2.mapping = phone2
        email2.mapping = email2
        street2.mapping = street2
        zip2.mapping = zip2
        city2.mapping = city2
        country2.mapping = country2
      } 
    }
  }
}

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

您最好对表单使用predef-definition-style。这将为您节省多个表单的麻烦,并且是一个更清晰的实现。

plugin.Tx_Formhandler.settings.predef.yourformularname { ...config... }

您可以找到一堆示例on the offical site/examples

我假设您的管理员和用户mail-config只是空的,因为您不会发布任何客户信息?

如果填写每个字段,表格是否有效?

在我自己的用例中,我需要使用整理器映射所有字段,也许你应该为非必填字段设置一个... IfEmpty-option。

Here是可用的ifEmpty选项。