[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