2012-02-27 88 views
0

我正在做一个扩展,用户可以发布帖子。但是我希望扩展程序是动态的,以便例如在一个页面上用户可以上传图片,而在另一个页面上,用户不能上传图片而只是上传文本。Typo3:是否有可能为扩展制作自定义柔性?

我希望能够为插件后端创建一个模板,为前端创建一个模板,您可以为插件的每次使用修改该模板。 我知道有flexform但插件的用户必须修改插件...

是可能的,如果是这样,我该怎么做?

+0

您的意思是说,flexform配置的可变性不会局限于预定义数量的集合,而会是* indefinite *,换句话说就是每个插件使用的自定义? – tmt 2012-02-27 16:06:07

+0

@cascaval是多数民众赞成在正确的。 – Patrik 2012-02-27 16:11:36

+0

用户本身应该创建flexforms? – tmt 2012-02-27 16:18:29

回答

1

在使用核心方法中的一些现有钩子呈现之前,您应该能够修改字段pi_flexform的TCA,从而更改为您的插件加载的XML文件(包含flexform配置)。由于这是页面配置,每个页面可以不同,但​​它可以由子页面继承。

虽然class.t3lib_tceforms.php含有大量的钩,我认为,在飞行改变TCA你将不得不使用一个不同:postUserLookUpt3lib/class.t3lib_userauth.php

  1. 创建将包含方法修改TCA和ext_localconf.php注册它的类: $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['postUserLookUp'][] = 'EXT:YOUR_EXTENSION/class.YOUR_CLASS.php:YOUR_CLASS->YOUR_METHOD';

  2. 在一个值自定义方法重写TCA为$TCA['tt_content']['columns']['pi_flexform']['config']['ds']['YOUR_EXTENSION_pi1,list']您的管理员组中页面配置。 t3lib_BEfunc::getModTSconfig()应该让你加载页面配置,它取决于你决定什么密钥,你会寻找。

注意:这是未经检验的理论,但它的原理是基于我的自定义扩展,我动态修改TCA之一。

相关问题