Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Rainer Schleevoigt
Hallo Falk, dieser Code: use Solarium\Client;use Solarium\Exception\HttpException;use TYPO3\CMS\Core\Utility\GeneralUtility;use TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController;/// make solarium instance:$Solr = GeneralUtility::makeInstance(Solarium\Client::class);/** @var

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Falk Gebauer
Versuchs mal 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

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Rainer Schleevoigt
Hallo Falk, ich will lediglich eine textuelle Sitemap generieren, aber nicht aus dem Seitenbaum (es gibt nur einen Zweig), sondern dynamisch aus dem SolrIndex, dazu verwende ich diese Solarium-Extension, die auch der Controler verwendet. In dem EID brauche ich also nur eine Instanz von

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Falk Gebauer
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:

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Rainer Schleevoigt
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 =

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden 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

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Rainer Schleevoigt
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

Re: [TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Falk Gebauer
Hallo Rainer, die kurze Antwort: $sol und $solr sind nicht dasselbe. ;-) Aber ich gehe mal davon aus, dass dieser Schreibfehler nur in der Mail existiert. Bei Typo3 mit Composer: Die autoloading Informationen müssen in der composer.json sein. Test: composer dumpautoload Bei Typo3 ab 8 ohne

[TYPO3-german] Instanzierung von Klassen in anderen Extensions

2018-08-10 Diskussionsfäden Rainer Schleevoigt
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.