get('bootstrap_package'); // PageTS // Add Content Elements if (!(bool) $bootstrapPackageConfiguration['disablePageTsContentElements']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); } // Add BackendLayouts for the BackendLayout DataProvider if (!(bool) $bootstrapPackageConfiguration['disablePageTsBackendLayouts']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); } // RTE if (!(bool) $bootstrapPackageConfiguration['disablePageTsRTE']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); } // TCADefaults if (!(bool) $bootstrapPackageConfiguration['disablePageTsTCADefaults']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); } // TCEMAIN if (!(bool) $bootstrapPackageConfiguration['disablePageTsTCEMAIN']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); } // TCEFORM if (!(bool) $bootstrapPackageConfiguration['disablePageTsTCEFORM']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(''); } // Register custom EXT:form configuration if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('form')) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptSetup(trim(' module.tx_form { settings { yamlConfigurations { 110 = EXT:bootstrap_package/Configuration/Form/Setup.yaml } } } plugin.tx_form { settings { yamlConfigurations { 110 = EXT:bootstrap_package/Configuration/Form/Setup.yaml } } } ')); } // Register google font hook if (!(bool) $bootstrapPackageConfiguration['disableGoogleFontCaching']) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess'][\BK2K\BootstrapPackage\Hooks\PageRenderer\GoogleFontHook::class] = \BK2K\BootstrapPackage\Hooks\PageRenderer\GoogleFontHook::class . '->execute'; } // Register css processing parser $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/bootstrap-package/css']['parser'][\BK2K\BootstrapPackage\Parser\ScssParser::class] = \BK2K\BootstrapPackage\Parser\ScssParser::class; // Register css processing hooks if (!(bool) $bootstrapPackageConfiguration['disableCssProcessing']) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess'][\BK2K\BootstrapPackage\Hooks\PageRenderer\PreProcessHook::class] = \BK2K\BootstrapPackage\Hooks\PageRenderer\PreProcessHook::class . '->execute'; } // Register icon provider $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/bootstrap-package/icons']['provider'][\BK2K\BootstrapPackage\Icons\IoniconsProvider::class] = \BK2K\BootstrapPackage\Icons\IoniconsProvider::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/bootstrap-package/icons']['provider'][\BK2K\BootstrapPackage\Icons\GlyphiconsProvider::class] = \BK2K\BootstrapPackage\Icons\GlyphiconsProvider::class; // Add default RTE configuration for bootstrap package $GLOBALS['TYPO3_CONF_VARS']['RTE']['Presets']['bootstrap'] = 'EXT:bootstrap_package/Configuration/RTE/Default.yaml'; // Extend TYPO3 upgrade wizards to handle bootstrap package specific upgrades if (isset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\TYPO3\CMS\Install\Updates\SectionFrameToFrameClassUpdate::class])) { unset($GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\TYPO3\CMS\Install\Updates\SectionFrameToFrameClassUpdate::class]); } $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\AccordionContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\AccordionContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\AccordionMediaOrientUpdate::class] = \BK2K\BootstrapPackage\Updates\AccordionMediaOrientUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\BackendLayoutUpdate::class] = \BK2K\BootstrapPackage\Updates\BackendLayoutUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\BulletContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\BulletContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\CarouselContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\CarouselContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\CarouselItemTypeUpdate::class] = \BK2K\BootstrapPackage\Updates\CarouselItemTypeUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\CarouselItemLayoutUpdate::class] = \BK2K\BootstrapPackage\Updates\CarouselItemLayoutUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\ExternalMediaContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\ExternalMediaContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\FrameClassUpdate::class] = \BK2K\BootstrapPackage\Updates\FrameClassUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\FrameClassToBackgroundUpdate::class] = \BK2K\BootstrapPackage\Updates\FrameClassToBackgroundUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\ListGroupContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\ListGroupContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\PanelContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\PanelContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TabContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\TabContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TabMediaOrientUpdate::class] = \BK2K\BootstrapPackage\Updates\TabMediaOrientUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TableContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\TableContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TexticonContentElementUpdate::class] = \BK2K\BootstrapPackage\Updates\TexticonContentElementUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TexticonSizeUpdate::class] = \BK2K\BootstrapPackage\Updates\TexticonSizeUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TexticonTypeUpdate::class] = \BK2K\BootstrapPackage\Updates\TexticonTypeUpdate::class; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/install']['update'][\BK2K\BootstrapPackage\Updates\TexticonIconUpdate::class] = \BK2K\BootstrapPackage\Updates\TexticonIconUpdate::class; // Register "bk2k" as global fluid namespace $GLOBALS['TYPO3_CONF_VARS']['SYS']['fluid']['namespaces']['bk2k'][] = 'BK2K\\BootstrapPackage\\ViewHelpers'; // Register Icons $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); $iconRegistry->registerIcon( 'systeminformation-bootstrappackage', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, ['source' => 'EXT:bootstrap_package/Resources/Public/Icons/SystemInformation/bootstrappackage.svg'] ); $icons = [ 'accordion', 'accordion-item', 'card-group', 'card-group-item', 'carousel', 'carousel-item', 'carousel-item-backgroundimage', 'carousel-item-calltoaction', 'carousel-item-header', 'carousel-item-html', 'carousel-item-image', 'carousel-item-text', 'carousel-item-textandimage', 'beside-text-img-centered-left', 'beside-text-img-centered-right', 'csv', 'externalmedia', 'gallery', 'icon-group', 'icon-group-item', 'listgroup', 'menu-card', 'social-links', 'tab', 'tab-item', 'texticon', 'timeline', 'timeline-item' ]; foreach ($icons as $icon) { $iconRegistry->registerIcon( 'content-bootstrappackage-' . $icon, \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, ['source' => 'EXT:bootstrap_package/Resources/Public/Icons/ContentElements/' . $icon . '.svg'] ); } // Register "icon" wizard $GLOBALS['TYPO3_CONF_VARS']['SYS']['formEngine']['nodeRegistry'][1687516916] = [ 'nodeName' => 'iconWizard', 'priority' => 40, 'class' => \BK2K\BootstrapPackage\Form\FieldWizard\IconWizard::class ];