将TYPO3 extbase storagePageIds/storagePid设置为current

Urs*_*Urs 4 typo3 extbase

我正在使用TYPO3扩展feupload,它依赖于extbase.这是我第一次接触extbase.但问题是关于extbase的一般情况.

我希望TYPO3在查询中默认包含通常的"IN(当前页面)"pid检查,除非另有说明 - 但在extbase中似乎有所不同.或者至少在我的情况下,它不起作用.

在扩展中,有一个常量/设置设置,可以设置storagePid.这有效.但我们不希望为每个页面手动调整该参数.

persistence {
       # cat=feupload/persistence; type=integer; label=Storage PID of records
       storagePid =
}
Run Code Online (Sandbox Code Playgroud)

那么如何让extbase按预期自动获取当前页面的PID?

(子问题:我已经尝试在设置中设置plugin.tx_pluginname.persistence.storagePid.data = {page:uid},但这不起作用.TS看起来像什么工作?)

adh*_*nem 9

那么,你做了什么应该工作,但你必须这样写:

plugin.tx_pluginname.persistence.storagePid.data = page:uid
Run Code Online (Sandbox Code Playgroud)

(只有在普通包装中插入数据字段时才需要{})

正如其他人指出的那样,您必须确保在模板中包含扩展程序的配置.

如果上述操作失败,您可以在控制器的initializeAction中以编程方式设置storagePid,如下所示:

$querySettings = $this->myRepository->createQuery()->getQuerySettings();
$querySettings->setStoragePageIds(array($GLOBALS["TSFE"]->id));
$this->myRepository->setDefaultQuerySettings($querySettings);
Run Code Online (Sandbox Code Playgroud)