/ / Establezca TYPO3 extbase storagePageIds / storagePid en current - typo3, extbase

Establezca TYPO3 extbase storagePageIds / storagePid en current - typo3, extbase

Estoy usando la extensión TYPO3 feupload, que se basa en extbase. Este es mi primer contacto con extbase. Pero la pregunta es sobre extbase en general.

Espero que TYPO3 incluya la verificación de PID "IN (página actual)" de forma predeterminada en las consultas, a menos que se indique lo contrario, pero en extbase que parece ser diferente. O al menos en mi caso, no está funcionando.

En la extensión, hay una configuración de constantes / configuración, donde se puede configurar storagePid. Esto funciona. Pero no queremos adaptar ese parámetro manualmente para cada página.

persistence {
# cat=feupload/persistence; type=integer; label=Storage PID of records
storagePid =
}

Entonces, ¿cómo hago que extbase obtenga el PID de la página actual automáticamente como se espera?

(Subpregunta: he intentado configurar plugin.tx_pluginname.persistence.storagePid.data = {page: uid} en la configuración, pero eso no funcionaría. ¿Qué aspecto tendría que tener el TS para trabajar?)

Respuestas

6 para la respuesta № 1

Bueno lo que hiciste debería Trabaja, pero tienes que escribirlo así:

plugin.tx_pluginname.persistence.storagePid.data = page:uid

({} solo es necesario cuando inserta un campo de datos en un ajuste normal)

Como han señalado otros, debe asegurarse de incluir la configuración de la extensión en su plantilla.

Si falla lo anterior, puede programar programáticamente el storagePid en initializeAction de su controlador, así:

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

1 para la respuesta № 2

Acabo de probar en TYPO3 ver. 4.7.xy getText La función hizo el truco:

plugin.tx_test {
persistence {
storagePid.data = field:uid
}
}

Pon esto en el TS Setup de la página principal, y sobrescribir en subpáginas (s) si es necesario.


0 para la respuesta № 3

Probado en Typo3 6.1.8

plugin.tx_test {
persistence {
storagePid.override.cObject = TEXT
storagePid.override.cObject.field = uid
}
}