我写了一个小扩展,为Backend User提供新闻。 我只是2个零件。一部分显示所有BE用户作为自己的模块的新闻,另一部分是由TCA提供的创建和编辑功能。
要使用TCA表单和默认的extbase getter,我需要正确的storagePid。我无法通过TypoScript设置它们,因为我从不在页面上下文中。
我的想法是将插件设置与文件ext_conf_template.txt
# cat=persistence/enable; type=int; label=Storage pid
storagePid = 4457
但是如何告诉TYPO3查看此设置?
至少Repository->findAll()
必须尊重它
答案 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']);
并将其提供给函数。