[TYPO3-german] Instanzierung von Klassen in anderen Extensions

Falk Gebauer fgebauer at 3pc.de
Fri Aug 10 14:38:50 CEST 2018


Dein Beispiel funktioniert out-of-the-box nur im Frontend-Context.

Wenn du im EID-Context Typoscript, Extbase o.ä. brauchst, musst du dir diese Fit. selbst initialisieren, je nachdem wieviel Frontend-Fkt. du brauchst, solltest du erwägen, statt EID ein Extbase-Plugin zu schreiben.

Ungefähr so:

/** @var TypoScriptFrontendController $tsfe */
$tsfe = GeneralUtility::makeInstance(TypoScriptFrontendController::class, $GLOBALS['TYPO3_CONF_VARS'], 0, 0);
$tsfe->connectToDB();
$tsfe->initFEuser();
$tsfe->determineId();
$tsfe->initTemplate();
$tsfe->getConfigArray();

In $tsfe->tmpl->setup findest du dann z.B. das Typoscript-Setup.





> Am 10.08.2018 um 13:54 schrieb Rainer Schleevoigt <rainer.schleevoigt at uni-hamburg.de>:
> 
> Das ist so und klappt soweit.
> 
> Mit
> 
> /use Solarium\Client;////use Solarium\Exception\HttpException;////use TYPO3\CMS\Core\Utility\GeneralUtility;////$Solr = GeneralUtility::makeInstance(Solarium\Client::class);/
> 
> komme ich jetzt an das Solr ran.
> 
> Mit
> 
> $ConfigurationManager = GeneralUtility::makeInstance(TYPO3\CMS\Extbase\Configuration\ConfigurationManager::class);
> var_dump($ConfigurationManager);
> $TS = $ConfigurationManager->getConfiguration(\TYPO3\CMS\Extbase\Configuration\ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
> var_dump($TS);
> 
> versuche ich an das Typoscript ranzukommen.
> 
> Schon der erste var_dum sagt mir, dass da was nicht stimmt:
> 
> object(TYPO3\CMS\Extbase\Configuration\ConfigurationManager)#270 (3) { ["objectManager":protected]=> NULL ["concreteConfigurationManager":protected]=> NULL ["environmentService":protected]=> NULL }
> 
> Habe das von hier: https://www.andrerinas.de/tutorials/typo3-typoscipt-settings-mit-configurationmanager-bekommen.html
> 
> Was läuft da nur schief? Wieder ein TYPO?
> 
> Gruss Rainer
> 
> Am 10.08.18 um 13:22 schrieb Falk Gebauer:
>> Normalerweise sollte ja ein `composer require solarium/solarium` im Root von Typo3 reichen. Damit steht das Paket in der composer.json von Typo3 und die Autloading-Infos sollten aktualisiert sein.
>> 
>> Was sagt denn `composer dumpautoload` im Typo3-Root?
>> 
>> 
>>> Am 10.08.2018 um 13:16 schrieb Rainer Schleevoigt <rainer.schleevoigt at uni-hamburg.de>:
>>> 
>>> Hallo Falk,
>>> 
>>> 
>>> Am 10.08.18 um 13:14 schrieb Falk Gebauer:
>>>> Hallo Rainer,
>>>> 
>>>> die kurze Antwort: $sol und $solr sind nicht dasselbe. ;-)
>>> total!
>>>> Aber ich gehe mal davon aus, dass dieser Schreibfehler nur in der Mail existiert.
>>> leider nein.  ;-)
>>>> Bei Typo3 mit Composer: Die autoloading Informationen müssen in der composer.json sein.
>>>> Test: composer dumpautoload
>>> Ich arbeite mit composer. In welcher composer.josn, der von Solarium?
>>>> Bei Typo3 ab 8 ohne Composer: Das Extensionverzeichnis wird bei Extension-Installation gescannt und eine classmap generiert.
>>>> Test: php typo3/cli_dispatch.phpsh extbase extension:dumpclassloadinginformation
>>>> 
>>>> Eventuell einfach die Extension mit dem Solarium nochmal installieren.
>>>> 
>>>> Gruß Falk
>>>> 
>>>> 
>>>>> Am 10.08.2018 um 13:01 schrieb Rainer Schleevoigt <rainer.schleevoigt at uni-hamburg.de>:
>>>>> 
>>>>> Hallo Freunde des guten Codes,
>>>>> 
>>>>> in einer Extension möchte ich in einem eID-Script beispielsweise Solarium instanziieren:
>>>>> 
>>>>> ``` $sol = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(Solarium\Client::class);var_dump($solr);
>>>>> 
>>>>> ```
>>>>> 
>>>>> Das war mein erster, laienhafter Versuch. $solr ist NULL.
>>>>> 
>>>>> Ich dachte, der ganze T3-Prozess stellt alle Klassen bereit … Woran hängt es?
>>>>> 
>>>>> Codestrong!
>>>>> 
>>>>> --
>>>>> Dipl.-Ing. Rainer Schleevoigt
>>>>> Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
>>>>> IT, Forschung und Entwicklung
>>>>> Hamburg Open Science
>>>>> Von-Melle-Park 3, 20146 Hamburg
>>>>> Telefon (040) 4283 88870 | Fax (040) 41345070
>>>>> Mail: rainer.schleevoigt at sub.uni-hamburg.de
>>>>> http://www.sub.uni-hamburg.de
>>>>> 
>>>>> _______________________________________________
>>>>> TYPO3-german mailing list
>>>>> TYPO3-german at lists.typo3.org
>>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>>> 
>>>> _______________________________________________
>>>> TYPO3-german mailing list
>>>> TYPO3-german at lists.typo3.org
>>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>> --
>>> Dipl.-Ing. Rainer Schleevoigt
>>> Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
>>> IT, Forschung und Entwicklung
>>> Hamburg Open Science
>>> Von-Melle-Park 3, 20146 Hamburg
>>> Telefon (040) 4283 88870 | Fax (040) 41345070
>>> Mail: rainer.schleevoigt at sub.uni-hamburg.de <mailto:rainer.schleevoigt at sub.uni-hamburg.de>
>>> http://www.sub.uni-hamburg.de <http://www.sub.uni-hamburg.de/>
>>> 
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org <mailto:TYPO3-german at lists.typo3.org>
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german <http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german>
>>> 
>>> 
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 
> --
> Dipl.-Ing. Rainer Schleevoigt
> Staats- und Universitaetsbibliothek Hamburg Carl von Ossietzky
> IT, Forschung und Entwicklung
> Hamburg Open Science
> Von-Melle-Park 3, 20146 Hamburg
> Telefon (040) 4283 88870 | Fax (040) 41345070
> Mail: rainer.schleevoigt at sub.uni-hamburg.de
> http://www.sub.uni-hamburg.de
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german



More information about the TYPO3-german mailing list