[Frage] tt_address erweitern

  • tom_meier tom_meier
    Sternenflotten-Admiral
    0 x
    184 Beiträge
    1 Hilfreiche Beiträge
    16. 06. 2015, 09:26

    Hallo,
    ich wollte die tt_address Tabelle um drei Felder erweitern. Unter TYPO3 4.xx habe ich eine Extension mit den neuen Felder erzeugt und dann die Felder z.b im Directmail subscription eingefügt Typoscript von Directmail subriction angepasst und es lief.

    Nun in TYPO3 6.2 läuft diese Extentiosn nicht mehr. Die Datenfelder werden zwar in der DB angelegt, nicht aber im TCA von tt_address. Folglich werden die neuen Felder auch nich angezeigt und nicht gespeichert.

    Auch eine neue Extension mit dem Extensionbuilder hat das gleiche Ergebnis. Dort werden die Felder zwar dem TCA von tt_address hinzugefügt aber denoch nicht angezeigt und nicht gespeichert.

    Habe ich da was übersehen? Gibt es ein Beispiel zur Erweiterung von tt_address unter TYPO3 6.2.

    VG
    Tom


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    16. 06. 2015, 14:42

    Ich schätze, dir fehlen nur die passenden Einträge in "showitem".

    Es reicht nicht, wenn du die Felder nur in $TCA['tt_address']['columns']['FeldYYY'] definierst. Diese neuen Felder müssen auch in $TCA['tt_address']['types']['1']['showitem'] hinzugefügt werden, dann sollten sie auch im Backend angezeigt werden.

  • tom_meier tom_meier
    Sternenflotten-Admiral
    0 x
    184 Beiträge
    1 Hilfreiche Beiträge
    16. 06. 2015, 14:56

    Hallo,

    das habe ich auch schon probiert.

    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_address',$tmp_directmaildse_columns);

    $GLOBALS['TCA']['tt_address']['types']['Tx_Directmaildse_Directmaildse']['showitem'] = $TCA['tt_address']['types']['1']['showitem'];
    $GLOBALS['TCA']['tt_address']['types']['Tx_Directmaildse_Directmaildse']['showitem'] .= ',--div--;LLL:EXT:directmaildse/Resources/Private/Language/locallang_db.xlf:tx_directmaildse_domain_model_directmaildse,';
    $GLOBALS['TCA']['tt_address']['types']['Tx_Directmaildse_Directmaildse']['showitem'] .= 'datenschutzmail, datenschutzprint, datenschutztelefon';

    $GLOBALS['TCA']['tt_address']['columns'][$TCA['tt_address']['ctrl']['type']]['config']['items'][] = array('LLL:EXT:directmaildse/Resources/Private/Language/locallang_db.xlf:tt_address.tx_extbase_type.Tx_Directmaildse_Directmaildse','Tx_Directmaildse_Directmaildse');

    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_address', $GLOBALS['TCA']['tt_address']['ctrl']['type'],'','after:' . $TCA['tt_address']['ctrl']['label']);

    usw.

    Die Felder werden einfach nicht angezeigt. Auch wenn ich das Post Array des Formulars auslese sind die Werte leer. Warum aich immer. Nur die "alten" Name Vorname usw. funktionieren.

    Habe es auch schon mit Konfiguration/TCA/Overrides/tt_address.php veruscht. Geht auch nicht.

    Vg
    Tom

  • tom_meier tom_meier
    Sternenflotten-Admiral
    0 x
    184 Beiträge
    1 Hilfreiche Beiträge
    16. 06. 2015, 15:42

    So nun habe ich es soweit das die Felder bei tt_address im Datensatz angezeigt werden. Allerdings werden die Werte aus dem subscriptionformular nicht gespeichert. Wenn ich das im Datensatz mache, werden die Daten gespeichert.

    Weiss jemand woran das liegen kann das jetzt nicht gespeichert wird?

    PS: Es lag anscheindend doch am showitem obwohl ist das schon drin hatte. Evtl. cache Problem.

    Vg
    Tom

  • tom_meier tom_meier
    Sternenflotten-Admiral
    0 x
    184 Beiträge
    1 Hilfreiche Beiträge
    16. 06. 2015, 17:27

    So, nun geht alles.

    ich musste noch mit $GLOBALS['TCA']['tt_address']['feInterface']['fe_admin_fieldList'] .= XXX,xXX
    die felder hinzufügen.

    Allerdings gibt es eine Bug den ich musste .=', xxx,xxx,xxx' schreiben, also mit führendem Komma.

    Vg
    Tom

  • 1