/ / Set TYPO3 extbase storagePageIds / storagePid para current - typo3, extbase

Defina TYPO3 extbase storagePageIds / storagePid como current - typo3, extbase

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 № 1

Bem, 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
}
}