[Frage] Dateireferenz als Feld in einer Extension TYPO3-Version: -

  • trashi trashi
    T3PO
    0 x
    25 Beiträge
    0 Hilfreiche Beiträge
    11. 05. 2020, 13:32

    Schönen guten Morgen,
    ich bin mal wieder etwas am verzweifeln :-).

    Vielleicht könnt ihr mir helfen.

    Ich habe eine Extension entworfen in der ich die pages Tabelle etwas erweitern möchte.
    Zum einen wären da:

    1. ein boolischer Wert
    2. ein Textwert für z.B. CSS Klassen
    3. Eine Dateireferenz aus den bestehenden fileadmin

    Nun Punk 1 und 2 funktionieren natürlich wunderbar. Nur aus der Referenz werd ich irgendwie nicht schlau.
    Er zeigt diese zwar schön im Backend an und diese lässt sich auch den Erwartungen nach verwenden.
    (also ein Bild aussuchen und demnach verlinken)
    Allerdings steht in dem Feld ..._image lediglich nur eine 1. (jedoch die Referenz uid etc. alles stimmt und auf das betreffende Bild in sys_file)

    Ich vermute den Fehler hier bei der definition wüsste aber beim besten Willen nicht was da falsch sein könnte.

    [code]<?php
    defined('TYPO3_MODE') or die();

    // Configure new fields:
    $fields = [
    'tx_mnadditionalpagefields_custom_css_class' => [
    'label' => 'LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.tx_mnadditionalpagefields_custom_css_class',
    'exclude' => 1,
    'config' => [
    'type' => 'input',
    'max' => 255
    ],
    ],
    'tx_mnadditionalpagefields_activate_extended_rules' => [
    'exclude' => 1,
    'label' => 'LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.tx_mnadditionalpagefields_activate_extended_rules',
    'config' => [
    'type' => 'check',
    'default' => 0
    ]
    ],
    'tx_mnadditionalpagefields_extended_background_image' => [
    'exclude' => 1,
    'label' => 'LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.tx_mnadditionalpagefields_extended_background_image',
    'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
    'tx_mnadditionalpagefields_extended_background_image',
    [
    'maxitems' => 1,
    'minitems' => 0,
    'appearance' => [
    'createNewRelationLinkTitle' => 'LLL:EXT:cms/locallang_ttc.xlf:images.addFileReference'
    ],
    'foreign_match_fields' => array(
    'fieldname' => 'tx_mnadditionalpagefields_extended_background_image',
    'tablenames' => 'pages',
    'table_local' => 'sys_file',
    ),
    ],
    $GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext']
    ),
    ]
    ];

    // Add new fields to pages:
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('pages', $fields);

    // Make fields visible in the TCEforms:
    \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes(
    'pages', // Table name
    '--palette--;LLL:EXT:nm_addtional_page_fields/Resources/Private/Language/locallang_db.xlf:pages.palette_title;nm_addtional_page_fields', // Field list to add
    '1', // List of specific types to add the field list to. (If empty, all type entries are affected)
    'after:nav_title' // Insert fields before (default) or after one, or replace a field
    );

    // Add the new palette:
    $GLOBALS['TCA']['pages']['palettes']['nm_addtional_page_fields'] = [
    'showitem' => 'tx_mnadditionalpagefields_activate_extended_rules,tx_mnadditionalpagefields_custom_css_class,tx_mnadditionalpagefields_extended_background_image'
    ];
    [/code]

    Habe die ganze Extension (zur Einsicht) nochmal in den https://nintz.de/uploads/nm_addtional_page_fields_0.0.1_202005111123.zip gepackt.

    Falls wer eine Idee hat immer gern her damit.

    Viele Grüße,
    trashi

  • Hilfreichster Beitrag

  • Julian.Hofmann Julian.Ho...
    Flash Gordon
    1 x
    3024 Beiträge
    127 Hilfreiche Beiträge
    12. 05. 2020, 06:39 - Hilfreichster Beitrag

    Um via Fluid drauf zuzugreifen, dürfte der einfachste Weg via dataProcessing sein:
    https://docs.typo3.org/c/typo3/cms-core/master/en-us/Changelog/7.4/Feature-67662-DataProcessorForFiles.html