2017-06-30 78 views
0

我有TYPO3 7.6.18版本,並且我想要在BE或FE上的網站上傳任何文件時工作的鉤子。可能嗎 ?請幫助我,它是如何使用的?任何文件上傳的TYPO3鉤子

+0

下面是上傳圖片的軟件示例:BE和Frontend。 https://github.com/helhum/upload_example –

+0

我需要鉤!這不是我想要的 – Mikael

回答

2

實際上有兩個答案,在這裏我可以給你:

你不會找到在前端的每個文件上傳的一個鉤,因爲TYPO3的前端部分上傳可以通過擴展和他們做可以以各種可能的方式實現它,並且不需要爲其他開發人員提供鉤子。所以,sry,前端沒有鉤子。

然而,後端在\TYPO3\CMS\Core\Utility\File\ExtendedFileUtility類中提供了一個鉤子。它可以在擴展ext_localconf.php像這樣進行註冊:

$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_extfilefunc.php']['processData'][] = \MyVendor\MyExt\Hook\FileUtilityHook::class; 

其中類\MyVendor\MyExt\Hook\FileUtilityHook實現\TYPO3\CMS\Core\Utility\File\ExtendedFileUtilityProcessDataHookInterface 示例實現看起來是這樣的:

class FileUtilityHook implements \TYPO3\CMS\Core\Utility\File\ExtendedFileUtilityProcessDataHookInterface{ 
    /** 
    * Post process hook that gets executed when all operations have been done 
    * 
    * @param string $action The action that got processed 
    * @param array $cmdArr The cmdArray contains data about the file, for example $cmdArr['data'] is the file/folder to delete 
    * @param array $result The results of all calls to the action handler, for example $result['delete'] = true 
    * @param \TYPO3\CMS\Core\Utility\File\ExtendedFileUtility $parentObject 
    */ 
    public function processData_postProcessAction ($action, array $cmdArr, array $result, \TYPO3\CMS\Core\Utility\File\ExtendedFileUtility $parentObject): void { 
     if($action === 'delete'){ 
      // something got deleted 
     } 
    } 
} 

請注意,這是一個後處理鉤,所以所有的操作都已經在使用這個鉤子的時候完成了。

+0

非常感謝! – Mikael