TYPO3 Extbase:为后端模块设置storagepid
TYPO3 Extbase: Set storagepid for Backend Module
我写了一个小扩展,为后端用户提供新闻。
Ist 只是 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()
必须尊重
通常您会使用 TypoScript 来定义它:
module.tx_yourextensionkey.persistence.storagePid = 123
只要您将配置放在第一个根 TypoScript 模板上(或通过其他方式包含 TypoScript,这会导致不特定于任何 sys_template
记录的全局包含,不在页面上下文中就不会成为障碍或页面树位置)。
也许不是最好的解决方案,但它确实有效。
我已经在存储库中使用 pid 作为参数编写了自己的函数。
我正在使用 TYPO3 查询生成器。
使用 $query->equals('pid', $pid);
我得到带有我的 pid 的条目。
并且 $query->getQuerySettings()->setRespectStoragePage(false);
默认 pid 将被忽略。
作为最后一步。我的控制器从设置中获取 pid,unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['my_extension']['storagePid']);
并将其提供给函数。
我写了一个小扩展,为后端用户提供新闻。 Ist 只是 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()
必须尊重
通常您会使用 TypoScript 来定义它:
module.tx_yourextensionkey.persistence.storagePid = 123
只要您将配置放在第一个根 TypoScript 模板上(或通过其他方式包含 TypoScript,这会导致不特定于任何 sys_template
记录的全局包含,不在页面上下文中就不会成为障碍或页面树位置)。
也许不是最好的解决方案,但它确实有效。
我已经在存储库中使用 pid 作为参数编写了自己的函数。
我正在使用 TYPO3 查询生成器。
使用 $query->equals('pid', $pid);
我得到带有我的 pid 的条目。
并且 $query->getQuerySettings()->setRespectStoragePage(false);
默认 pid 将被忽略。
作为最后一步。我的控制器从设置中获取 pid,unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['my_extension']['storagePid']);
并将其提供给函数。