2017-03-07 89 views
1

我必须实现媒体下载功能。后端用户应该能够上传媒体文件,设置标题,说明,发布日期等......结果应该是可见的,并且可以在前端下载文件。TYPO3:插件和自定义内容元素之间的区别?

我不知道什么是实现此目标的最佳方式:插件或自定义内容元素? 这两者之间的主要区别是什么,什么是我的任务的最佳解决方案?

回答

1

插件用于更复杂地呈现具有不同视图的记录(例如存储在存储文件夹某处的记录的列表和详细视图)。如果所有相关数据都存储在记录中,则应该首选自定义内容元素(CE)。

对于您的情况,内容元素似乎是正确的解决方案。这种自定义内容元素也可以通过诸如“掩码”等有用的扩展名轻松创建,这可能需要10分钟来创建自定义CE。 https://typo3.org/extensions/repository/view/mask

+0

好,谢谢。我尝试了掩码扩展,但我认为它不能为我的任务提供足够的功能。我必须创建一个“预览”并生成一个水印和其他一些东西。我想我必须使用自定义CE和DataProcessor? – user6800816

+0

对于带有水印的图像,您可以创建一个Typoscript对象,然后在f:cOject的Fluid内部调用它。 DataProcessor当然也是可能的。如果它变得复杂,你可以使用插件创建一个扩展;-) –

+0

我想我会选择插件解决方案,因为它是更有前途的证明,我们永远不知道:) – user6800816

1

如果我正确理解你的话。 您可以将插件定义为“list_type”的类型,或者定义为“CType”(如果您需要编码特定功能,这很难或无法使用例如流体内容来实现),或者甚至定义为另一个菜单类型“menu_type” 。

这些所有类型都可以与插件相同,这种类型分离基本上只是为了使它出现在不同的选择器中。所以:

  • 插件定义为menu_type是在“特殊菜单”内容类型“菜单式”选择器进行选择,
  • 定义为LIST_TYPE(所谓的)在“插入插件”被选择内容在“Selected plugin”选择器中,
  • 定义为CType是全新的内容类型。

但他们的工作方式相同,这是很容易使用参数ext_tables插件寄存器呼叫切换:

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(['Label', $_EXTKEY.'_myPluginSuffix'], 'CType'); 
0

1)您可以使用“文件链接”的内容元素并调整其Typo脚本(tt_content.uploads.20.renderObj)满足您的需求。

2)您可以使用file_list扩展并调整其流体模板,以您的需求

相关问题