Da grandi utilizzatori delle userFunc in TYPO3 non potevamo non tenerci aggiornati dopo il rilascio della versione 7 e cominciare a fare qualche test.
includeLibs
La prima differenza che abbiamo notato è proprio nell'inclusione di una userFunc nel TypoScript.
Nella versione 6 si poteva includere il file fisico contenente uno script inserendo, arbitrariamente nella pagina, una di queste stringhe e dopo includere la userFunc:
config.includeLibrary = {$myPhpLib} oppure includeLibs.myLib = {$myPhpLib}
...
page.20= USER
page.20.userFunc= user_myLib->myFunc
Dove la costante $myPhpLib contiene /path/user_myLib.php
In TYPO3 7,in USER e USER_INT, l'unico modo accettato, dopo aver fatto diversi test con i vecchi metodi, è il seguente:
page.20= USER
page.20.includeLibs = {$myPhpLib}
page.20.userFunc= user_myLib->myFunc
Inserendo dentro USER direttamente la libreria.
debug
Dopo la corretta inclusione della libreria abbiamo provato ad inserire la funzione t3lib_utility_Debug::debug in myFunc ma subito abbiamo riscontrato dei problemi:
PHP Fatal error: Class 't3lib_utility_Debug' not found
A differenza di prima che bastava richiamare l'oggetto nella funzione:
public function debug($what){
t3lib_utility_Debug::debug($what);
return true;
}
Ora bisogna dichiarare tutto il namespace con i nuovi:
public function debug($what){
TYPO3\CMS\Core\Utility\DebugUtility::debug($what);
return true;
}
Una cosa che sembra notevolmente cambiata è l'output del debug a schermo, passando da:
a
Continueremo a cercare differenze che saranno presto inserite.
DON'T PANIC