Eu estou usando o feupload de extensão TYPO3, que depende do extbase. Este é meu primeiro contato com o extbase. Mas a questão é sobre extbase em geral.
Espero que o TYPO3 inclua a verificação pid habitual "IN (current-page)" por padrão nas consultas, a menos que seja dito o contrário - mas no extbase isso parece ser diferente. Ou pelo menos no meu caso, não está funcionando.
Na extensão, há uma configuração de constantes / configuração, onde o storagePid pode ser definido. Isso funciona. Mas não queremos adaptar esse parâmetro manualmente para cada página.
persistence {
# cat=feupload/persistence; type=integer; label=Storage PID of records
storagePid =
}
Então, como eu faço o extbase obter o PID da página atual automaticamente como esperado?
(Sub-questão: Eu tentei configurar plugin.tx_pluginname.persistence.storagePid.data = {page: uid} na configuração, mas isso não iria funcionar. O que a TS teria que parecer para funcionar?)
Respostas:
6 para resposta № 1Bem, o que você fez? devemos trabalho, mas você tem que escrever assim:
plugin.tx_pluginname.persistence.storagePid.data = page:uid
(o {} só é necessário quando você insere um campo de dados em um envoltório comum)
Como outros salientaram, você precisa ter certeza de incluir a configuração da extensão no seu modelo.
Se o acima falhar, você pode programaticamente definir o storagePid em initializeAction do seu controlador, da seguinte forma:
$querySettings = $this->myRepository->createQuery()->getQuerySettings();
$querySettings->setStoragePageIds(array($GLOBALS["TSFE"]->id));
$this->myRepository->setDefaultQuerySettings($querySettings);
1 para resposta № 2
Acabei de testar no TYPO3 ver. 4.7.xe getText função fez o truque:
plugin.tx_test {
persistence {
storagePid.data = field:uid
}
}
Coloque isso no TS Setup
da página principal e substitua as subpáginas, se necessário.
0 para resposta № 3
Testado no Typo3 6.1.8
plugin.tx_test {
persistence {
storagePid.override.cObject = TEXT
storagePid.override.cObject.field = uid
}
}