[Frage] Extbase tt_content erweitern - neue Felder werden nicht angezeigt TYPO3-Version: -

  • caomhan caomhan
    Jedi-Ritter
    0 x
    133 Beiträge
    1 Hilfreiche Beiträge
    14. 04. 2015, 14:09

    Hi Leute,

    stehe gerade vor einem Problem: Ich habe mittels extension_builder eine kleine, einfache Extension erstellt die tt_content erweitert und ein kleines FE plugin mitliefert. Soweit so gut. In der ext_tables.php sind alle Felder enthalten - allerdings erfolgt keine Ausgabe der Felder, wenn ich ein CE "Plugin" mit meinem Frontend Plugin anlege.

    Die neuen Felder werden also nicht angezeigt - egal welches CE. Es soll allerdings auch nur gezeigt werden, wenn das entsprechende FE Plugin der Extension gewählt wurde.

    Hoffe mir kann jemand helfen - bei Google komme ich trotz Extbase Keyword nicht weiter...

    Danke und Grüße!

    1. ...TCA Array mit meinen Feldern...
    2.  
    3. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content',$tmp_pv_video_columns);
    4.  
    5. $GLOBALS['TCA']['tt_content']['types']['Tx_PvVideo_Video']['showitem'] = $TCA['tt_content']['types']['1']['showitem'];
    6. $GLOBALS['TCA']['tt_content']['types']['Tx_PvVideo_Video']['showitem'] .= ',--div--;LLL:EXT:pv_video/Resources/Private/Language/locallang_db.xlf:tx_pvvideo_domain_model_video,';
    7. $GLOBALS['TCA']['tt_content']['types']['Tx_PvVideo_Video']['showitem'] .= 'videofile, videofilewebm, videofileogv, videoheight, videowidth, time, timeline, autoplay, videobild';
    8.  
    9. $GLOBALS['TCA']['tt_content']['columns'][$TCA['tt_content']['ctrl']['type']]['config']['items'][] = array('LLL:EXT:pv_video/Resources/Private/Language/locallang_db.xlf:tt_content.tx_extbase_type.Tx_PvVideo_Video','Tx_PvVideo_Video');
    10.  
    11. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_content', $GLOBALS['TCA']['tt_content']['ctrl']['type'],'','after:' . $TCA['tt_content']['ctrl']['label']);


  • 1
  • toifel toifel
    Jedi-Ratsmitglied
    0 x
    831 Beiträge
    96 Hilfreiche Beiträge
    14. 04. 2015, 14:27

    $GLOBALS['TCA']['tt_content']['types']['Tx_PvVideo_Video']

    Das [b]Tx_PvVideo_Video[/b] ist wahrscheinlich falsch.. beim debuggen des TCA wird ersichtlich, dass alle anderen Extensions/Plugins in lowercase gehalten sind.

    Schau mal im Backend unter System -> Konfiguration.. dort kannst du oben im select das TCA wählen und dann auch sehen, unter welchen ExtKey deine Extension überhaupt registriert ist.

  • caomhan caomhan
    Jedi-Ritter
    0 x
    133 Beiträge
    1 Hilfreiche Beiträge
    14. 04. 2015, 14:58

    Ich schaue mal nach - aber das stammt ja vom extension_builder...
    ExtKey ist ja pv_video

  • caomhan caomhan
    Jedi-Ritter
    0 x
    133 Beiträge
    1 Hilfreiche Beiträge
    14. 04. 2015, 17:25

    Also entweder für alle CEs mit:

    1. \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_content', $GLOBALS['TCA']['tt_content']['types']['Tx_PvVideo_Video']['showitem']);

    Oder nur für das bestimmte Plugin mit:

    1. $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['pvvideo_video'] = 'videofile, videofilewebm, videofileogv, videoheight, videowidth, time, timeline, autoplay, videobild';

    Also alles wie früher, nur dass die Plugin Namen und Co verwirrender werden: pvvideo_video, Tx_PvVideo_Video, ...

    Danke!

  • caomhan caomhan
    Jedi-Ritter
    0 x
    133 Beiträge
    1 Hilfreiche Beiträge
    14. 04. 2015, 18:20

    Ich muss doch noch mal stören: Wie bekomme ich die tt_content Inhalte an mein Extension Plugin Fluid Template übergeben? In meinem Fall Datei Referenzen wie Bilder und Videos.

    1. $cObjData = $this->configurationManager->getContentObject()->data;

    1. $this->view->assign('content', $cObjData);

    Soweit klar. Aber

    1. <f:debug>{content.videobild}</f:debug>

    Ergibt nur eine "1". Mit originalResource komme ich nicht weiter...
    Kann mir nochmals Jemand einen Tip geben :-)

    Danke!

  • caomhan caomhan
    Jedi-Ritter
    0 x
    133 Beiträge
    1 Hilfreiche Beiträge
    14. 04. 2015, 23:38

    Das Problem ist gelöst: Es lag daran, dass die Daten aus

    $this->configurationManager->getContentObject()->data;
    nicht mit meinem Extension Model gemappt wurden. Habe nun einfach über mein Repository erneut das eine Element ausgelesen und dieses an das Fluid Template weitergegeben. Nicht schön, aber so klappt es...

  • 1