2017-03-06 72 views
0

我創建了一個帶有「媒體」字段的自定義內容元素。TYPO3:數據處理從自定義CE獲取文件/媒體

這裏是我的數據處理器類別:

class CustomCeProcessor implements DataProcessorInterface 
{ 

    /** 
    * Process data for the content element "My new content element" 
    * 
    * @param ContentObjectRenderer $cObj The data of the content element or page 
    * @param array $contentObjectConfiguration The configuration of Content Object 
    * @param array $processorConfiguration The configuration of this processor 
    * @param array $processedData Key/value store of processed data (e.g. to be passed to a Fluid View) 
    * @return array the processed data as key/value store 
    */ 
    public function process(
     ContentObjectRenderer $cObj, 
     array $contentObjectConfiguration, 
     array $processorConfiguration, 
     array $processedData 
    ) 
    { 
     $processedData['foo'] = 'This variable will be passed to Fluid'; 
     return $processedData; 
    } 
} 

$ processedData包含值,每場預計「媒體場」至極是一個空數組。

這裏是我的TCA的樣子:

$GLOBALS['TCA']['tt_content']['types']['custom_ce'] = [ 
    'showitem'   => ' 
      --palette--;' . $frontendLanguageFilePrefix . 'palette.general;general, 
      --linebreak--, header;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:header_formlabel, 
      --linebreak--, date;Datum, 
      --linebreak--, media;Media, 
      --linebreak--, bodytext;txt, 
    ' 
]; 

我怎樣才能訪問媒體文件中的DataProcess爲了將它傳遞給液體?

+0

您是否按照此說明進行操作?如果沒有,請看看它:https://usetypo3.com/custom-fsc-element.html –

+0

是的,我使用本教程來構建自定義窗體。我爲tt_content表添加了internal_type「file」的自定義「my_pdf」字段。在我的setup.txt文件中,我爲文件處理器設置了references.fieldName = my_pdf,就像在教程中一樣。但是在CustomCeProcessor類中$ processedData ['files']是空的。 – user6800816

回答

1

TYPO3\CMS\Frontend\DataProcessing\FilesProcessor可以做到這一點。編寫自己的DataProcessor並不是必需的。

當您激活調試視圖幫助器時,您的文件應顯示爲my_pdf

請確認您的文件在Fluid debug viewhelper中可見。