TYPO3 Extbase:为后端模块设置storagepid

时间:2016-09-13 15:01:58

标签: typo3 extbase typo3-7.6.x

我写了一个小扩展,为Backend User提供新闻。 我只是2个零件。一部分显示所有BE用户作为自己的模块的新闻,另一部分是由TCA提供的创建和编辑功能。

要使用TCA表单和默认的extbase getter,我需要正确的storagePid。我无法通过TypoScript设置它们,因为我从不在页面上下文中

我的想法是将插件设置与文件ext_conf_template.txt

一起使用
# cat=persistence/enable; type=int; label=Storage pid
storagePid = 4457

settings

但是如何告诉TYPO3查看此设置?

至少Repository->findAll()必须尊重它

2 个答案:

答案 0 :(得分:2)

通常你会使用TypoScript来定义它:

module.tx_yourextensionkey.persistence.storagePid = 123

只要您将配置放在第一个根TypoScript模板上(或通过其他方式包含TypoScript,导致全局包含不是特定于任何sys_template记录或页面,不在页面上下文中不是阻止程序树的位置)。

答案 1 :(得分:0)

也许不是最好的解决方案,但它确实有效。

我已经使用pid作为参数在存储库中编写了我自己的函数。 我正在使用TYPO3查询构建器 使用$query->equals('pid', $pid);我可以使用我的pid获取条目 使用$query->getQuerySettings()->setRespectStoragePage(false);时,默认的pid将被忽略。

作为最后一步。我的控制器从设置中获取pid,unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['my_extension']['storagePid']);并将其提供给函数。