Hallo 🙂
Ich habe folgendes Problem: Ich benötige die Möglichkeit, einer Typo3-externen Anwendung (in diesem Fall ein Webshop) eine Klasse bereitzustellen, mit der diese Anwendung Typo3-URLs erzeugen kann. Kurz und knapp: Der Webschop übergibt einer Methode meiner Klasser die Artikelnummer und bekommt die URL zur Produktdetailseite im Typo3 zurück. Das funktioniert im Controller schon ganz wunderbar, doch kann der Webshop ja diesen Controller nicht so verwenden, wie es der Fall ist, wenn ich ihn via Plugin im Frontend anspreche.
Ich habe mir deshalb gedacht, dass ich ein Standalone-Script baue, das diese besagte Klasse bereitstellt, die intern dann den UriBuilder verwendet, doch bekomme ich es nicht hin, dass der UriBuilder tatsächlich verwendet werden kann.
Hat jemand sowas bereits hinbekommen oder weiß, wie es zu bewerkstelligen ist?
Vielen Dank für eure Hilfe im Voraus!
Felix
PS: Hier der aktuelle Stand meines Scripts:
require 'typo3/sysext/core/Classes/Core/Bootstrap.php';
\TYPO3\CMS\Core\Core\Bootstrap::getInstance()
->baseSetup('')
->redirectToInstallToolIfLocalConfigurationFileDoesNotExist();
define('TYPO3_MODE', 'FE');
\TYPO3\CMS\Core\Core\Bootstrap::getInstance()
->startOutputBuffering()
->loadConfigurationAndInitialize()
->loadTypo3LoadedExtAndExtLocalconf(TRUE)
->applyAdditionalConfigurationSettings();
$TT = new \TYPO3\CMS\Core\TimeTracker\NullTimeTracker();
$TT->start();
\TYPO3\CMS\Core\Core\Bootstrap::getInstance()->initializeTypo3DbGlobal();
// Hook to preprocess the current request:
if (is_array($TYPO3_CONF_VARS['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest'])) {
foreach ($TYPO3_CONF_VARS['SC_OPTIONS']['tslib/index_ts.php']['preprocessRequest'] as $hookFunction) {
$hookParameters = array();
\TYPO3\CMS\Core\Utility\GeneralUtility::callUserFunction($hookFunction, $hookParameters, $hookParameters);
}
unset($hookFunction);
unset($hookParameters);
}
/**
* @var \TYPO3\CMS\Frontend\Controller\TypoScriptFrontendController $TSFE
*/
$TSFE = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Frontend\\Controller\\TypoScriptFrontendController',
$TYPO3_CONF_VARS,
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('id'),
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('type'),
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('no_cache'),
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('cHash'),
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('jumpurl'),
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('MP'),
\TYPO3\CMS\Core\Utility\GeneralUtility::_GP('RDCT')
);
$TSFE->connectToDB();
$TSFE->initFEuser();