我必須實現媒體下載功能。後端用戶應該能夠上傳媒體文件,設置標題,說明,發佈日期等......結果應該是可見的,並且可以在前端下載文件。TYPO3:插件和自定義內容元素之間的區別?
我不知道什麼是實現此目標的最佳方式:插件或自定義內容元素? 這兩者之間的主要區別是什麼,什麼是我的任務的最佳解決方案?
我必須實現媒體下載功能。後端用戶應該能夠上傳媒體文件,設置標題,說明,發佈日期等......結果應該是可見的,並且可以在前端下載文件。TYPO3:插件和自定義內容元素之間的區別?
我不知道什麼是實現此目標的最佳方式:插件或自定義內容元素? 這兩者之間的主要區別是什麼,什麼是我的任務的最佳解決方案?
插件用於更復雜地呈現具有不同視圖的記錄(例如存儲在存儲文件夾某處的記錄的列表和詳細視圖)。如果所有相關數據都存儲在記錄中,則應該首選自定義內容元素(CE)。
對於您的情況,內容元素似乎是正確的解決方案。這種自定義內容元素也可以通過諸如「掩碼」等有用的擴展名輕鬆創建,這可能需要10分鐘來創建自定義CE。 https://typo3.org/extensions/repository/view/mask
如果我正確理解你的話。 您可以將插件定義爲「list_type」的類型,或者定義爲「CType」(如果您需要編碼特定功能,這很難或無法使用例如流體內容來實現),或者甚至定義爲另一個菜單類型「menu_type」 。
這些所有類型都可以與插件相同,這種類型分離基本上只是爲了使它出現在不同的選擇器中。所以:
但他們的工作方式相同,這是很容易使用參數ext_tables插件寄存器呼叫切換:
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(['Label', $_EXTKEY.'_myPluginSuffix'], 'CType');
1)您可以使用「文件鏈接」的內容元素並調整其Typo腳本(tt_content.uploads.20.renderObj
)滿足您的需求。
2)您可以使用file_list擴展並調整其流體模板,以您的需求
好,謝謝。我嘗試了掩碼擴展,但我認爲它不能爲我的任務提供足夠的功能。我必須創建一個「預覽」並生成一個水印和其他一些東西。我想我必須使用自定義CE和DataProcessor? – user6800816
對於帶有水印的圖像,您可以創建一個Typoscript對象,然後在f:cOject的Fluid內部調用它。 DataProcessor當然也是可能的。如果它變得複雜,你可以使用插件創建一個擴展;-) –
我想我會選擇插件解決方案,因爲它是更有前途的證明,我們永遠不知道:) – user6800816