# if news is loaded if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('news')) { # TsConfig \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Resources/Private/Extensions/News/TsConfig.ts">'); # Setup \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:t3sbootstrap/Resources/Private/Extensions/News/Setup.ts">', defaultContentRendering); } # if indexed_search is loaded if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('indexed_search')) { # Setup \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:t3sbootstrap/Resources/Private/Extensions/indexed_search/Setup.ts">', defaultContentRendering); } # if powermail is loaded if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('powermail')) { # Setup \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:t3sbootstrap/Resources/Private/Extensions/Powermail/Main.ts">', defaultContentRendering); } # if dyncss & dyncss_less is loaded if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('dyncss') && \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('dyncss_less')) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants('plugin.t3sbootstrap_configuration.general.dyncss = 1'); } else { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants('plugin.t3sbootstrap_configuration.general.dyncss = 0'); } # Path to the flags by version if (\TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version) < 7001000) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants('plugin.t3sbootstrap_configuration.general.flags = ../typo3/sysext/t3skin/images/flags/'); } else { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScriptConstants('plugin.t3sbootstrap_configuration.general.flags = ../typo3/sysext/core/Resources/Public/Icons/Flags/'); } /*************** * Bootstrap table-classes
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript', 'Fluid Styled Content'); if ('BE' === TYPO3_MODE) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'constants', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluidcontent_core/Configuration/TypoScript/constants.txt">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:fluidcontent_core/Configuration/TypoScript/setup.txt">'); } \FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\FluidcontentCore\\Provider\\CoreContentProvider'); foreach ($GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'] as $index => $item) { if ($item[1] === 'textpic') { unset($GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][$index]); } } unset($index, $item);
|formtype_mail = submit | Send form! |html_enabled=hidden | 1 |subject=hidden| This is the subject ) } } show :=addToList(mailform) } '); // Register for hook to show preview of tt_content element of CType="mailform" in page module $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['mailform'] = \TYPO3\CMS\Compatibility6\Hooks\PageLayoutView\MailformPreviewRenderer::class; // Register for hook to show preview of tt_content element of CType="script" in page module $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['script'] = \TYPO3\CMS\Compatibility6\Hooks\PageLayoutView\ScriptPreviewRenderer::class; /** * CType "search" */ // Add Default TypoScript for CType "search" after default content rendering \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('compatibility6', 'constants', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:compatibility6/Configuration/TypoScript/Search/constants.txt">', 'defaultContentRendering'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('compatibility6', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:compatibility6/Configuration/TypoScript/Search/setup.txt">', 'defaultContentRendering'); // Add the search CType to the "New Content Element" wizard \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(' mod.wizards.newContentElement.wizardItems.forms { elements.search { icon = EXT:frontend/Resources/Public/Icons/ContentElementWizard/searchform.gif title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:forms_search_title description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:forms_search_description tt_content_defValues.CType = search } show :=addToList(search) } ');
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'Classes/Controller/Controller.php', '_controller', 'list_type', 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('options.saveDocNew.tx_cal_event=1'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig('options.saveDocNew.tx_cal_exception_event=1'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', ' tt_content.shortcut.20.conf.tx_cal_event = < plugin.tx_cal_controller tt_content.shortcut.20.conf.tx_cal_event { displayCurrentRecord = 1 // If you don\'t want that this record is reacting on certain piVars, add those to this list. To clear all piVars, use keyword "all" clearPiVars = uid,getdate,type,view // If you want that this record doesn\'t react on any piVar or session-stored var of cal - uncomment this option #dontListenToPiVars = 1 } ', 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('options.tx_cal_controller.headerStyles = default_catheader=#557CA3,green_catheader=#53A062,orange_catheader=#E84F25,pink_catheader=#B257A2,red_catheader=#D42020,yellow_catheader=#B88F0B,grey_catheader=#73738C options.tx_cal_controller.bodyStyles = default_catbody=#6699CC,green_catbody=#4FC464,orange_catbody=#FF6D3B,pink_catbody=#EA62D4,red_catbody=#FF5E56,yellow_catbody=#CCB21F,grey_catbody=#9292A1'); $GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include']['cal_ajax'] = 'EXT:cal/Classes/Ajax/Ajax.php'; /** * Both views and model are provided using TYPO3 services. * Models should be * of the type 'cal_model' with a an extension key specific to that model. * Views can be of two types. The 'cal_view' type is used for views that * display multiple events. Within this type, subtypes for 'single', 'day', * 'week', 'month', 'year', and 'custom' are available. The default views * each have the key 'default'. Custom views tied to a specific model should * have service keys identical to the key of that model. */
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $configuration = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['votable']); if (FALSE === isset($configuration['autoload_typoscript']) || TRUE === (bool) $configuration['autoload_typoscript']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('votable', 'constants', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:votable/Configuration/TypoScript/constants.ts">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('votable', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:votable/Configuration/TypoScript/setup.ts">'); } \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('Visol.votable', 'Pi1', array('Vote' => 'index, add, remove'), array('Vote' => 'index, add, remove')); if (TYPO3_MODE === 'BE') { if (!(TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) { $signalSlotDispatcher->connect('TYPO3\\CMS\\Extensionmanager\\Utility\\InstallUtility', 'tablesDefinitionIsBeingBuilt', \Visol\Votable\VotingRegistry::class, 'addExtensionVoteDatabaseSchemaToTablesDefinition'); } $signalSlotDispatcher->connect('TYPO3\\CMS\\Install\\Service\\SqlExpectedSchemaService', 'tablesDefinitionIsBeingBuilt', \Visol\Votable\VotingRegistry::class, 'addVoteDatabaseSchemaToTablesDefinition'); }
# ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // registering the eID scripts // TODO move to suggest form modifier $TYPO3_CONF_VARS['FE']['eID_include']['tx_solr_suggest'] = 'EXT:solr/Classes/Eid/Suggest.php'; $TYPO3_CONF_VARS['FE']['eID_include']['tx_solr_api'] = 'EXT:solr/Classes/Eid/Api.php'; # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // replace the built-in search content element $searchReplacementTypoScript = trim(' tt_content.search = COA tt_content.search { 10 = < lib.stdheader 20 > 20 = < plugin.tx_solr_PiResults_Results 30 > } '); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '# Setting ' . $_EXTKEY . ' plugin TypoScript' . $searchReplacementTypoScript, 43); # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // add custom Solr content objects $TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][ApacheSolrForTypo3\Solr\ContentObject\Multivalue::CONTENT_OBJECT_NAME] = array(ApacheSolrForTypo3\Solr\ContentObject\Multivalue::CONTENT_OBJECT_NAME, 'ApacheSolrForTypo3\\Solr\\ContentObject\\Multivalue'); $TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][ApacheSolrForTypo3\Solr\ContentObject\Content::CONTENT_OBJECT_NAME] = array(ApacheSolrForTypo3\Solr\ContentObject\Content::CONTENT_OBJECT_NAME, 'ApacheSolrForTypo3\\Solr\\ContentObject\\Content'); $TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][ApacheSolrForTypo3\Solr\ContentObject\Relation::CONTENT_OBJECT_NAME] = array(ApacheSolrForTypo3\Solr\ContentObject\Relation::CONTENT_OBJECT_NAME, 'ApacheSolrForTypo3\\Solr\\ContentObject\\Relation'); # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // Register cache for frequent searches if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['tx_solr'])) { $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['tx_solr'] = array(); } # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # if (TYPO3_MODE == 'BE') { $TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys'][$_EXTKEY] = array('EXT:' . $_EXTKEY . '/Classes/Cli/Api.php', '_CLI_solr'); }
use TYPO3\CMS\Extbase\Utility\ExtensionUtility; use TYPO3\CMS\Core\Utility\ExtensionManagementUtility; use TYPO3\CMS\Core\Utility\VersionNumberUtility; if (!defined('TYPO3_MODE')) { die('Access denied.'); } $extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['px_hybrid_auth']); // Endpoint-Plugin ExtensionUtility::configurePlugin('Portrino.' . $_EXTKEY, 'HybridAuth', array('HybridAuth' => 'endpoint'), array('HybridAuth' => 'endpoint')); ExtensionUtility::configurePlugin('Portrino.' . $_EXTKEY, 'Login', array('FacebookUser' => 'newLogin', 'LinkedinUser' => 'newLogin', 'XingUser' => 'newLogin'), array('FacebookUser' => 'newLogin', 'LinkedinUser' => 'newLogin', 'XingUser' => 'newLogin')); // Identity-Plugin ExtensionUtility::configurePlugin('Portrino.' . $_EXTKEY, 'Identity', array('Identity' => 'list,remove', 'Identity\\FacebookIdentity' => 'create,remove', 'Identity\\LinkedinIdentity' => 'create,remove', 'Identity\\XingIdentity' => 'create,remove'), array('Identity' => 'list,remove', 'Identity\\FacebookIdentity' => 'create,remove', 'Identity\\LinkedinIdentity' => 'create,remove', 'Identity\\XingIdentity' => 'create,remove')); ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '[GLOBAL] tt_content.px_hybrid_auth_login = COA tt_content.px_hybrid_auth_login { 10 = < lib.stdheader 20 > 20 = < plugin.tx_pxhybridauth_login } ', TRUE); ExtensionManagementUtility::addService($_EXTKEY, 'auth', 'Portrino\\PxHybridAuth\\Service\\SocialLoginAuthenticationService', array('title' => 'PxHybridAuth Social Login', 'description' => 'Single Sign On via Social Provider', 'subtype' => 'authUserFE,getUserFE', 'available' => TRUE, 'priority' => 82, 'quality' => 82, 'os' => '', 'exec' => '', 'className' => 'Portrino\\PxHybridAuth\\Service\\SocialLoginAuthenticationService')); // hook for content element preview in backend $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem'][$_EXTKEY] = 'Portrino\\PxHybridAuth\\Hooks\\PageLayoutViewDrawItemHook'; if ((bool) $extConf['facebook.']['enabled'] || (bool) $extConf['linkedin.']['enabled'] || (bool) $extConf['xing.']['enabled']) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_userauth.php']['logoff_post_processing'][$_EXTKEY] = 'Portrino\\PxHybridAuth\\Hooks\\LogOffHook->postProcessing'; } /** @var \TYPO3\CMS\Extbase\SignalSlot\Dispatcher $signalSlotDispatcher */ $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Extbase\SignalSlot\Dispatcher::class); if ((bool) $extConf['auto_fe_user_creation.']['enabled']) { $signalSlotDispatcher->connect('Portrino\\PxHybridAuth\\Service\\SocialLoginAuthenticationService', 'getUser', 'Portrino\\PxHybridAuth\\Slots\\SocialLoginAuthenticationServiceSlot', 'getUser', FALSE); } // if px_lib is not loaded take the ProcessDatamapDispatcher from py_hybrid_auth
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:rtehtmlarea/Configuration/PageTSconfig/Image/pageTSConfig.txt">'); } } // Add frontend image rendering TypoScript anyways \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('rtehtmlarea', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:rtehtmlarea/Configuration/TypoScript/ImageRendering/setup.txt">', 'defaultContentRendering'); $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['DefaultLink'] = array(); $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['DefaultLink']['objectReference'] = \TYPO3\CMS\Rtehtmlarea\Extension\DefaultLink::class; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Link'] = array(); $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Link']['objectReference'] = \TYPO3\CMS\Rtehtmlarea\Extension\Typo3Link::class; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Link']['disableInFE'] = 1; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Link']['additionalAttributes'] = 'rel'; // Add default Page TS Config RTE configuration for enabling links accessibility icons $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['enableAccessibilityIcons'] = $_EXTCONF['enableAccessibilityIcons'] ?: 0; if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['enableAccessibilityIcons']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:rtehtmlarea/Configuration/PageTSconfig/AccessibilityIcons/pageTSConfig.txt">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('rtehtmlarea', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:rtehtmlarea/Configuration/TypoScript/AccessibilityIcons/setup.txt">', 'defaultContentRendering'); } // Register features that use the style attribute $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['allowStyleAttribute'] = isset($_EXTCONF['allowStyleAttribute']) && !$_EXTCONF['allowStyleAttribute'] ? 0 : 1; if ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['allowStyleAttribute']) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Color'] = array(); $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Color']['objectReference'] = \TYPO3\CMS\Rtehtmlarea\Extension\Typo3Color::class; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TYPO3Color']['disableInFE'] = 0; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['SelectFont'] = array(); $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['SelectFont']['objectReference'] = \TYPO3\CMS\Rtehtmlarea\Extension\SelectFont::class; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['SelectFont']['disableInFE'] = 0; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:rtehtmlarea/Configuration/PageTSconfig/Style/pageTSConfig.txt">'); } $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TextIndicator'] = array(); $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TextIndicator']['objectReference'] = \TYPO3\CMS\Rtehtmlarea\Extension\TextIndicator::class; $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['rtehtmlarea']['plugins']['TextIndicator']['disableInFE'] = 0;
\TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin($_EXTKEY, 'Pi1', 'YAG - Yet Another Gallery'); /** * Register Backend Module */ if (TYPO3_MODE === 'BE') { /** * Registers a Backend Module */ \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule($_EXTKEY, 'web', 'tx_yag_m1', '', array('Gallery' => 'list, index, show, new, create, edit, update, delete', 'Album' => 'show, new, create, edit, update, delete, addItems, updateSorting, bulkUpdate', 'FileUpload' => 'upload', 'Item' => 'index, show, new, create, edit, update, delete, bulkUpdate', 'ItemList' => 'list,submitFilter', 'ItemFile' => 'index, show, new, create, edit, update, delete', 'DirectoryImport' => 'showImportForm, importFromDirectory', 'ZipImport' => 'showImportForm, importFromZip, createNewAlbumAndImportFromZip', 'Remote' => 'addItemToAlbum, albumList, galleryList', 'Ajax' => 'updateItemSorting,updateGallerySorting,directoryAutoComplete,deleteItem,deleteGallery,deleteAlbum,updateItemTitle,setItemAsAlbumThumb, updateItemDescription,updateAlbumSorting,updateAlbumTitle,updateAlbumDescription,updateGenericProperty, setAlbumAsGalleryThumb,hideAlbum,unhideAlbum,hideGallery,unhideGallery,getSubDirs', 'AdminMenu' => 'index', 'Backend' => 'settingsNotAvailable,extConfSettingsNotAvailable,noGalleryIsPosibleOnPIDZero,maintenanceOverview,clearAllPageCache,doDbUpdate,markPageAsYagSysFolder', 'ResolutionFileCache' => 'clearResolutionFileCache,buildResolutionByConfiguration,buildAllItemResolutions'), array('access' => 'user,group', 'icon' => 'EXT:yag/ext_icon.png', 'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_mod.xlf')); $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['Tx_Yag_Utility_WizzardIcon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Utility/WizzardIcon.php'; // Register status report checks in backend $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['reports']['tx_reports']['status']['providers']['YAG'] = array('Tx_Yag_Report_ExternalLibraries', 'Tx_Yag_Report_Filesystem', 'Tx_Yag_Report_EnvironmentVariables'); // Add Backend TypoScript \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:yag/Configuration/TypoScript/Backend/Setup.txt">'); } /** * Register Plugin as Page Content */ $extensionName = \TYPO3\CMS\Core\Utility\GeneralUtility::underscoredToUpperCamelCase($_EXTKEY); $pluginSignature = strtolower($extensionName) . '_pi1'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature] = 'select_key,pages'; /** * Register static Typoscript Template */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/', '[yag] Yet Another Gallery'); /** * Register flexform */
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('formule_newsletter', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:formule_newsletter/Configuration/TypoScript/setup.ts">');
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } /** * Default TsConfig */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/PageTS/modWizards.ts">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/PageTS/TCAdefaults.ts">'); /** * Default Constants */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'constants', trim('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/Constants.ts">')); /** * Content Element Definitions */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', trim(' <INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ContentElements/FluidTemplate.ts"> <INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ContentElements/ImageTextLeft.ts"> <INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ContentElements/Gallery.ts"> <INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ContentElements/Team.ts"> <INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ContentElements/Teaser.ts"> <INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ContentElements/SponsorFeature.ts"> '), 43);
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } ## Extending TypoScript from static template uid=43 to set up userdefined tag: \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'editorcfg', ' tt_content.CSS_editor.ch.tx_rgsmoothgallery_pi1 = < plugin.tx_rgsmoothgallery_pi1.CSS_editor ', 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi1/class.tx_rgsmoothgallery_pi1.php', '_pi1', 'list_type', 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addUserTSConfig(' options.saveDocNew.tx_rgsmoothgallery_image=1 '); // hook for tt_news if (TYPO3_MODE == 'FE') { require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'class.tx_rgsmoothgallery_fe.php'; } $TYPO3_CONF_VARS['EXTCONF']['tt_news']['extraItemMarkerHook'][] = 'tx_rgsmoothgallery_fe'; #$TYPO3_CONF_VARS['EXTCONF']['tt_news']['extraGlobalMarkerHook'][] = 'tx_rgsmoothgallery_fe';
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $composerAutoloadFile = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Libraries/autoload.php'; require_once $composerAutoloadFile; \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('Powrup.' . $_EXTKEY, 'Youtubeplaylistplugin', array('PlayList' => 'show'), array('PlayList' => '')); // Flexform record selector require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Utility/Flexform/PlaylistSelector.php'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "constants", '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:youtube_playlist/Configuration/TypoScript/constants.txt">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "setup", '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:youtube_playlist/Configuration/TypoScript/setup.txt">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('mod { wizards.newContentElement.wizardItems.plugins { elements { tx_youtube_playlist { icon = ' . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif title = YouTube Playlist description = Select all playlists of a YouTube channel to display them in a specific order in the frontend. params = &defVals[tt_content][CType]=list&defVals[tt_content][list_type]=youtubeplaylist_youtubeplaylistplugin } } } }');
* Add Bootstrap Package autoconfig to realurl */ if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('realurl')) { $realUrlVersion = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getExtensionVersion('realurl'); if (\TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger($realUrlVersion) < 2000000) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration'][$_EXTKEY] = 'BK2K\\BootstrapPackage\\Hooks\\RealUrl\\AutoConfig->addConfigVersion1x'; } else { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ext/realurl/class.tx_realurl_autoconfgen.php']['extensionConfiguration'][$_EXTKEY] = 'BK2K\\BootstrapPackage\\Hooks\\RealUrl\\AutoConfig->addConfigVersion2x'; } unset($realUrlVersion); } /*************** * Add Bootstrap Package config to felogin */ if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('realurl')) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('BootstrapPackage.Felogin', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:bootstrap_package/Configuration/TypoScript/ContentElement/Login.txt">', 'defaultContentRendering'); } if (TYPO3_MODE === 'BE') { /** * Provides an example .htaccess file for Apache after extension is installed and shows a warning if TYPO3 is not running on Apache. */ $signalSlotDispatcher = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\SignalSlot\\Dispatcher'); $signalSlotDispatcher->connect('TYPO3\\CMS\\Extensionmanager\\Service\\ExtensionManagementService', 'hasInstalledExtensions', 'BK2K\\BootstrapPackage\\Service\\InstallService', 'generateApacheHtaccess'); } /*************** * Register hook for processing less files */ if (TYPO3_MODE === 'FE') { require_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('bootstrap_package') . '/Contrib/less.php/Less.php'; if (!$GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf'][$_EXTKEY]['disableLessProcessing']) { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess'][] = 'BK2K\\BootstrapPackage\\Hooks\\PageRendererRender\\PreProcessHook->execute';
/** * Run the loading process for the ext_localconf.php file * * @param Loader $loader * @param array $loaderInformation * * @return NULL */ public function loadExtensionConfiguration(Loader $loader, array $loaderInformation) { if (!$loaderInformation) { return null; } static $loadPlugin = true; $csc = ExtensionManagementUtility::isLoaded('css_styled_content'); $typoScript = ''; if ($loadPlugin) { $loadPlugin = false; ExtensionUtility::configurePlugin('HDNET.autoloader', 'Content', ['Content' => 'index'], ['Content' => '']); if (!$csc) { $typoScript .= 'tt_content = CASE t_content.key.field = CType'; } } foreach ($loaderInformation as $e => $config) { $typoScript .= ' tt_content.' . $loader->getExtensionKey() . '_' . $e . ' = COA tt_content.' . $loader->getExtensionKey() . '_' . $e . ' { ' . ($config['noHeader'] ? '' : '10 =< lib.stdheader') . ' 20 = USER 20 { userFunc = TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run extensionName = Autoloader pluginName = Content vendorName = HDNET settings { contentElement = ' . $config['model'] . ' extensionKey = ' . $loader->getExtensionKey() . ' vendorName = ' . $loader->getVendorName() . ' } } } config.tx_extbase.persistence.classes.' . $config['modelClass'] . '.mapping.tableName = tt_content '; } if ($csc) { ExtensionManagementUtility::addTypoScript($loader->getExtensionKey(), 'setup', $typoScript, 43); } else { ExtensionManagementUtility::addTypoScriptSetup($typoScript); } return null; }
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'constants', $customFluidContentElementTypoScriptConstants); /** * Include TypoScript for tt_content after static */ $customFluidContentElementTypoScriptSetup = trim(' tt_content.tmplsub_socialinfobox = COA tt_content.tmplsub_socialinfobox { 10 = < lib.stdheader 20 = FLUIDTEMPLATE 20 { file = {$plugin.tx_tmplsub.view.templateRootPath}ContentElements/Social.html partialRootPath = {$plugin.tx_tmplsub.view.partialRootPath} layoutRootPath = {$plugin.tx_tmplsub.view.layoutRootPath} } } '); $lectureFluidContentElementTypoScriptSetup = trim(' tt_content.tmplsub_lectures = COA tt_content.tmplsub_lectures { 10 = < lib.stdheader 20 = FLUIDTEMPLATE 20 { file = {$plugin.tx_tmplsub.view.templateRootPath}ContentElements/Lectures.html partialRootPath = {$plugin.tx_tmplsub.view.partialRootPath} layoutRootPath = {$plugin.tx_tmplsub.view.layoutRootPath} } } '); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', $customFluidContentElementTypoScriptSetup, 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', $lectureFluidContentElementTypoScriptSetup, 43); $TYPO3_CONF_VARS['FE']['eID_include'][$_EXTKEY] = 'EXT:tmpl_sub/Resources/Private/Scripts/WordCounter.php';
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = "EXT:" . $_EXTKEY . "/hooks/class.tx_gorillary_collection_save_hook.php:&tx_gorillary_collection_save_hook"; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = "EXT:" . $_EXTKEY . "/hooks/class.tx_gorillary_feedimport_save_hook.php:&tx_gorillary_feedimport_save_hook"; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tceforms_inline.php']['tceformsInlineHook'][] = "EXT:" . $_EXTKEY . "/hooks/class.tx_gorillary_tceformsInlineHook.php:&tx_gorillary_tceformsInlineHook"; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi1/class.tx_gorillary_pi1.php', '_pi1', 'list_type', 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi2/class.tx_gorillary_pi2.php', '_pi2', 'list_type', 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', ' tt_content.shortcut.20.0.conf.tx_gorillary_images = < plugin.' . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getCN($_EXTKEY) . '_pi1 tt_content.shortcut.20.0.conf.tx_gorillary_images.CMD = singleView ', 43);
/** * Add auto-generated TypoScript to configure the Extbase Dispatcher. * * When adding a frontend plugin you will have to add both an entry to the TCA definition * of tt_content table AND to the TypoScript template which must initiate the rendering. * Since the static template with uid 43 is the "content.default" and practically always * used for rendering the content elements it's very useful to have this function automatically * adding the necessary TypoScript for calling the appropriate controller and action of your plugin. * It will also work for the extension "css_styled_content" * FOR USE IN ext_localconf.php FILES * Usage: 2 * * @param string $extensionName The extension name (in UpperCamelCase) or the extension key (in lower_underscore) * @param string $pluginName must be a unique id for your plugin in UpperCamelCase (the string length of the extension key added to the length of the plugin name should be less than 32!) * @param array $controllerActions is an array of allowed combinations of controller and action stored in an array (controller name as key and a comma separated list of action names as value, the first controller and its first action is chosen as default) * @param array $nonCacheableControllerActions is an optional array of controller name and action names which should not be cached (array as defined in $controllerActions) * @param string $pluginType either \TYPO3\CMS\Extbase\Utility\ExtensionUtility::TYPE_PLUGIN (default) or \TYPO3\CMS\Extbase\Utility\ExtensionUtility::TYPE_CONTENT_ELEMENT * @return void * @throws \InvalidArgumentException */ public static function configurePlugin($extensionName, $pluginName, array $controllerActions, array $nonCacheableControllerActions = array(), $pluginType = self::PLUGIN_TYPE_PLUGIN) { if (empty($pluginName)) { throw new \InvalidArgumentException('The plugin name must not be empty', 1239891987); } if (empty($extensionName)) { throw new \InvalidArgumentException('The extension name was invalid (must not be empty and must match /[A-Za-z][_A-Za-z0-9]/)', 1239891989); } $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName))); $pluginSignature = strtolower($extensionName) . '_' . strtolower($pluginName); if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName])) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName] = array(); } foreach ($controllerActions as $controllerName => $actionsList) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'][$controllerName] = array('actions' => \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $actionsList)); if (!empty($nonCacheableControllerActions[$controllerName])) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'][$controllerName]['nonCacheableActions'] = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $nonCacheableControllerActions[$controllerName]); } } $pluginTemplate = 'plugin.tx_' . strtolower($extensionName) . ' { settings { } persistence { storagePid = classes { } } view { templateRootPath = layoutRootPath = partialRootPath = # with defaultPid you can specify the default page uid of this plugin. If you set this to the string "auto" the target page will be determined automatically. Defaults to an empty string that expects the target page to be the current page. defaultPid = } }'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($extensionName, 'setup', ' # Setting ' . $extensionName . ' plugin TypoScript ' . $pluginTemplate); switch ($pluginType) { case self::PLUGIN_TYPE_PLUGIN: $pluginContent = trim(' tt_content.list.20.' . $pluginSignature . ' = USER tt_content.list.20.' . $pluginSignature . ' { userFunc = TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run extensionName = ' . $extensionName . ' pluginName = ' . $pluginName . ' }'); break; case self::PLUGIN_TYPE_CONTENT_ELEMENT: $pluginContent = trim(' tt_content.' . $pluginSignature . ' = COA tt_content.' . $pluginSignature . ' { 10 = < lib.stdheader 20 = USER 20 { userFunc = TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run extensionName = ' . $extensionName . ' pluginName = ' . $pluginName . ' } }'); break; default: throw new \InvalidArgumentException('The pluginType "' . $pluginType . '" is not suported', 1289858856); } $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType'] = $pluginType; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($extensionName, 'setup', ' # Setting ' . $extensionName . ' plugin TypoScript ' . $pluginContent, 43); }
// TODO move into pi_results, initializeSearch, add only when features are activated $TYPO3_CONF_VARS['EXTCONF']['solr']['modifySearchForm']['keepParameters'] = 'ApacheSolrForTypo3\\Solr\\Plugin\\Results\\ParameterKeepingFormModifier'; $TYPO3_CONF_VARS['EXTCONF']['solr']['modifySearchForm']['spellcheck'] = 'ApacheSolrForTypo3\\Solr\\Plugin\\Results\\SpellCheckFormModifier'; $TYPO3_CONF_VARS['EXTCONF']['solr']['modifySearchForm']['suggest'] = 'ApacheSolrForTypo3\\Solr\\Plugin\\Results\\SuggestFormModifier'; # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // registering the eID scripts // TODO move to suggest form modifier $TYPO3_CONF_VARS['FE']['eID_include']['tx_solr_suggest'] = 'EXT:solr/Classes/Eid/Suggest.php'; $TYPO3_CONF_VARS['FE']['eID_include']['tx_solr_api'] = 'EXT:solr/Classes/Eid/Api.php'; # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # $hasCompatibilityLayer = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('compatibility6'); if ($hasCompatibilityLayer) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('solr', 'setup', 'tt_content.search = COA tt_content.search { 10 = < lib.stdheader 20 > 20 = < plugin.tx_solr_PiResults_Results 30 > }', 'defaultContentRendering'); } # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // add custom Solr content objects $TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][ApacheSolrForTypo3\Solr\ContentObject\Multivalue::CONTENT_OBJECT_NAME] = array(ApacheSolrForTypo3\Solr\ContentObject\Multivalue::CONTENT_OBJECT_NAME, 'ApacheSolrForTypo3\\Solr\\ContentObject\\Multivalue'); $TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][ApacheSolrForTypo3\Solr\ContentObject\Content::CONTENT_OBJECT_NAME] = array(ApacheSolrForTypo3\Solr\ContentObject\Content::CONTENT_OBJECT_NAME, 'ApacheSolrForTypo3\\Solr\\ContentObject\\Content'); $TYPO3_CONF_VARS['SC_OPTIONS']['tslib/class.tslib_content.php']['cObjTypeAndClass'][ApacheSolrForTypo3\Solr\ContentObject\Relation::CONTENT_OBJECT_NAME] = array(ApacheSolrForTypo3\Solr\ContentObject\Relation::CONTENT_OBJECT_NAME, 'ApacheSolrForTypo3\\Solr\\ContentObject\\Relation'); # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # ----- # // Register cache for frequent searches if (!is_array($GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['tx_solr'])) { $GLOBALS['TYPO3_CONF_VARS']['SYS']['caching']['cacheConfigurations']['tx_solr'] = array(); } // Caching framework solr
<?php defined('TYPO3_MODE') or die; // add plugin controller \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('TYPO3.CMS.Felogin', 'setup', ' # Setting "felogin" plugin TypoScript plugin.tx_felogin_pi1 = USER_INT plugin.tx_felogin_pi1.userFunc = TYPO3\\CMS\\Felogin\\Controller\\FrontendLoginController->main '); // Add a default TypoScript for the CType "login" (also replaces history login functionality) \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('TYPO3.CMS.Felogin', 'setup', ' # Setting "felogin" plugin TypoScript tt_content.login = COA tt_content.login { 10 =< lib.stdheader 20 > 20 =< plugin.tx_felogin_pi1 } ', 'defaultContentRendering'); // add login to new content element wizard if (TYPO3_MODE === 'BE') { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(' mod.wizards.newContentElement.wizardItems.forms { elements.login { icon = EXT:frontend/Resources/Public/Icons/ContentElementWizard/login_form.gif title = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:forms_login_title description = LLL:EXT:backend/Resources/Private/Language/locallang_db_new_content_el.xlf:forms_login_description tt_content_defValues { CType = login } }
// Register additional content objects $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['MULTIMEDIA'] = \FoT3\Mediace\ContentObject\MultimediaContentObject::class; $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['MEDIA'] = \FoT3\Mediace\ContentObject\MediaContentObject::class; $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['SWFOBJECT'] = \FoT3\Mediace\ContentObject\ShockwaveFlashObjectContentObject::class; $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['FLOWPLAYER'] = \FoT3\Mediace\ContentObject\FlowPlayerContentObject::class; $GLOBALS['TYPO3_CONF_VARS']['FE']['ContentObjects']['QTOBJECT'] = \FoT3\Mediace\ContentObject\QuicktimeObjectContentObject::class; // Register the "media" CType to the "New Content Element" wizard \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(' mod.wizards.newContentElement.wizardItems { special.elements.media { iconIdentifier = content-special-media title = LLL:EXT:mediace/Resources/Private/Language/locallang.xlf:newContentElementWizard.media.title description = LLL:EXT:mediace/Resources/Private/Language/locallang.xlf:newContentElementWizard.media.description tt_content_defValues.CType = media } special.show := addToList(media) } '); // Add Default TypoScript for CType "media" and "multimedia" after default content rendering \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('mediace', 'constants', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:mediace/Configuration/TypoScript/constants.txt">', 'defaultContentRendering'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('mediace', 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:mediace/Configuration/TypoScript/setup.txt">', 'defaultContentRendering'); if (TYPO3_MODE === 'FE') { // Register the basic media wizard provider \FoT3\Mediace\MediaWizard\MediaWizardProviderManager::registerMediaWizardProvider(\FoT3\Mediace\MediaWizard\MediaWizardProvider::class); // Register FLV validation callback for FLV player $GLOBALS['TYPO3_CONF_VARS']['FE']['eID_include']['validateHash'] = 'EXT:mediace/Resources/PHP/ValidateHashEID.php'; } if (TYPO3_MODE === 'BE') { // Register for hook to show preview of tt_content element of CType="multimedia" in page module $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['multimedia'] = \FoT3\Mediace\Hooks\PageLayoutView\MultimediaPreviewRenderer::class; }
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } // Extending TypoScript from static template uid=43 to set up parsing of custom file abstraction attributes on img tag \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', ' #****************************************************** # Including library for processing of custom file abstraction attributes on img tag #****************************************************** ##includeLibs.tx_rtehtmlarea_renderimgtag = EXT:rtehtmlarea/extensions/TYPO3Image/class.tx_rtehtmlarea_renderimgtag.php lib.parseFunc_RTE { ##tags.img = TEXT ##tags.img { ## current = 1 ## preUserFunc = tx_rtehtmlarea_renderimgtag->renderImgageAttributes ##} nonTypoTagStdWrap.HTMLparser.tags.img.fixAttrib { data-htmlarea-file-uid.unset = 1 data-htmlarea-file-table.unset = 1 } } ', 43);
# Register constants to use package key and version in TS later if (TYPO3_MODE === 'FE') { $packageVersion = exec('git --git-dir="' . ExtensionManagementUtility::extPath($_EXTKEY) . '/.git" describe --tags --always --long'); $packageVersion .= ' (' . exec('git --git-dir="' . ExtensionManagementUtility::extPath($_EXTKEY) . '/.git" rev-parse --abbrev-ref HEAD') . ')'; } else { $packageVersion = '(only available in FE mode)'; } ExtensionManagementUtility::addTypoScriptConstants('plugin.templatebootstrap.packageKey=' . $_EXTKEY); ExtensionManagementUtility::addTypoScriptConstants('plugin.templatebootstrap.packageVersion=' . $packageVersion); $environment = $settings['environment']; ExtensionManagementUtility::addTypoScriptConstants('plugin.templatebootstrap.environment=' . $environment); # Do not change this. It is used to identify which templatebootstrap version this package is originally derived from. ExtensionManagementUtility::addTypoScriptConstants('plugin.templatebootstrap.bootstrapPackageVersion=' . ExtensionManagementUtility::getExtensionVersion($_EXTKEY)); # Load constants & setup ExtensionManagementUtility::addTypoScript($_EXTKEY, 'constants', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Resources/Private/TypoScript/constants.ts">', $_EXTKEY . '/Configuration/TypoScript/'); ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Resources/Private/TypoScript/setup.ts">', $_EXTKEY . '/Configuration/TypoScript/'); # Register extconf variable to use in scripts # (such as the layout provider hook) $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['Staempfli/TemplateBootstrap']['PackageKey'] = $_EXTKEY; /****************************** * Add mood image and background image * to the page overlay field list. * Inheritance (rootline * functionality) will be implemented by * the TSRootLineMedia class. ******************************/ $GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields'] .= ',tx_' . $_EXTKEY . '_moodimage,tx_' . $_EXTKEY . '_backgroundimage'; # Use signal 'afterExtensionConfigurationWrite' to handle post installation tasks if (TYPO3_MODE === 'BE') { // This class needs to be included manually as we need those down // below already - before any autoload mechanism has been executed.
includeLibs = EXT:felogin/pi1/class.tx_felogin_pi1.php userFunc = tx_felogin_pi1->main } '); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', ' # Setting ' . $_EXTKEY . ' plugin TypoScript ' . $pluginContent); $addLine = ' tt_content.login = COA tt_content.login { 10 = < lib.stdheader 20 > 20 = < plugin.tx_felogin_pi1 } '; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '# Setting ' . $_EXTKEY . ' plugin TypoScript' . $addLine . '', 43); if (TYPO3_MODE === 'BE') { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(' mod.wizards.newContentElement.wizardItems.forms { elements { login { icon = gfx/c_wiz/login_form.gif title = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_login_title description = LLL:EXT:cms/layout/locallang_db_new_content_el.xlf:forms_login_description tt_content_defValues { CType = login } } } show :=addToList(login) }
<?php defined('TYPO3_MODE') or die; if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('indexed_search')) { // register pibase plugin \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('indexed_search', 'setup', trim(' plugin.tx_indexedsearch = USER_INT plugin.tx_indexedsearch.userFunc = ' . \TYPO3\CMS\Compatibility7\Controller\SearchFormController::class . '->main ')); // add default rendering for pibase plugin \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript('indexed_search', 'setup', 'tt_content.list.20.indexed_search =< plugin.tx_indexedsearch', 'defaultContentRendering'); }
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['flux']['setup'] = unserialize($_EXTCONF); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin('FluidTYPO3.Flux', 'API', array('Flux' => 'renderChildContent'), array()); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', ' plugin.tx_flux.view { templateRootPath = EXT:flux/Resources/Private/Templates/ partialRootPath = EXT:flux/Resources/Private/Partials/ layoutRootPath = EXT:flux/Resources/Private/Layouts/ } plugin.tx_flux.settings { flexform { rteDefaults = richtext[*]:rte_transform[mode=ts_css] } } '); $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['getFlexFormDSClass']['flux'] = 'FluidTYPO3\\Flux\\Backend\\DynamicFlexForm'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['moveRecordClass'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'][] = 'FluidTYPO3\\Flux\\Backend\\TceMain->clearCacheCommand'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tstemplate.php']['includeStaticTypoScriptSources']['flux'] = 'FluidTYPO3\\Flux\\Backend\\TypoScriptTemplate->preprocessIncludeStaticTypoScriptSources'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['GLOBAL']['extTablesInclusion-PostProcessing']['flux'] = 'FluidTYPO3\\Flux\\Backend\\TableConfigurationPostProcessor'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['flux'] = 'FluidTYPO3\\Flux\\Backend\\Preview'; if (TRUE === class_exists('FluidTYPO3\\Flux\\Core')) { \FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Flux\\Provider\\ContentProvider'); // native Outlets, replaceable by short name in subsequent registerOutlet() calls by adding second argument (string, name of type) \FluidTYPO3\Flux\Core::registerOutlet('standard');
<?php if (!defined("TYPO3_MODE")) { die("Access denied."); } # Extending TypoScript from static template uid=43 to set up userdefined tag: \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "editorcfg", "tt_content.CSS_editor.ch.tx_mmforum_pi1 = < plugin.tx_mmforum_pi1.CSS_editor", 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "editorcfg", "tt_content.CSS_editor.ch.tx_mmforum_pi2 = < plugin.tx_mmforum_pi2.CSS_editor", 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "editorcfg", "tt_content.CSS_editor.ch.tx_mmforum_pi3 = < plugin.tx_mmforum_pi3.CSS_editor", 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'editorcfg', 'tt_content.CSS_editor.ch.tx_mmforum_pi4 = < plugin.tx_mmforum_pi4.CSS_editor', 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "editorcfg", "tt_content.CSS_editor.ch.tx_mmforum_pi5 = < plugin.tx_mmforum_pi5.CSS_editor", 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, "editorcfg", "tt_content.CSS_editor.ch.tx_mmforum_pi6 = < plugin.tx_mmforum_pi6.CSS_editor", 43); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, "pi1/class.tx_mmforum_pi1.php", "_pi1", "list_type", 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, "pi2/class.tx_mmforum_pi2.php", "_pi2", "list_type", 0); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, "pi3/class.tx_mmforum_pi3.php", "_pi3", "list_type", 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, 'pi4/class.tx_mmforum_pi4.php', '_pi4', 'list_type', 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, "pi5/class.tx_mmforum_pi5.php", "_pi5", "list_type", 1); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPItoST43($_EXTKEY, "pi6/class.tx_mmforum_pi6.php", "_pi6", "list_type", 0); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:mm_forum/res/ts/tx_mmforum_pagetsconfig.ts">'); /** * This is a hook to that triggers the tx_mmforum_cache class to * delete all cache files used for the mm_forum. This hook is * called after clearing the TYPO3 cache. */ $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['clearCachePostProc'][] = 'EXT:mm_forum/includes/cache/class.tx_mmforum_cache.php:tx_mmforum_cache->clearAllCaches'; /** * This config variable adds the 'nav_hide' field to the fields * that are loaded into the current page's rootline. This allows hidden * pages to be excluded from the dynamic rootline. */ if ($GLOBALS['TYPO3_CONF_VARS']['FE']['addRootLineFields']) {
/** * Add auto-generated TypoScript to configure the Extbase Dispatcher. * * When adding a frontend plugin you will have to add both an entry to the TCA definition * of tt_content table AND to the TypoScript template which must initiate the rendering. * Including the plugin code after "defaultContentRendering" adds the necessary TypoScript * for calling the appropriate controller and action of your plugin. * This means, it will also work for the extension "css_styled_content" * FOR USE IN ext_localconf.php FILES * Usage: 2 * * @param string $extensionName The extension name (in UpperCamelCase) or the extension key (in lower_underscore) * @param string $pluginName must be a unique id for your plugin in UpperCamelCase (the string length of the extension key added to the length of the plugin name should be less than 32!) * @param array $controllerActions is an array of allowed combinations of controller and action stored in an array (controller name as key and a comma separated list of action names as value, the first controller and its first action is chosen as default) * @param array $nonCacheableControllerActions is an optional array of controller name and action names which should not be cached (array as defined in $controllerActions) * @param string $pluginType either \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_PLUGIN (default) or \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT * @throws \InvalidArgumentException * @return void */ public static function configurePlugin($extensionName, $pluginName, array $controllerActions, array $nonCacheableControllerActions = array(), $pluginType = self::PLUGIN_TYPE_PLUGIN) { if (empty($pluginName)) { throw new \InvalidArgumentException('The plugin name must not be empty', 1239891987); } if (empty($extensionName)) { throw new \InvalidArgumentException('The extension name was invalid (must not be empty and must match /[A-Za-z][_A-Za-z0-9]/)', 1239891989); } // Check if vendor name is prepended to extensionName in the format {vendorName}.{extensionName} $vendorName = NULL; $delimiterPosition = strrpos($extensionName, '.'); if ($delimiterPosition !== FALSE) { $vendorName = str_replace('.', '\\', substr($extensionName, 0, $delimiterPosition)); $extensionName = substr($extensionName, $delimiterPosition + 1); } $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName))); $pluginSignature = strtolower($extensionName . '_' . $pluginName); if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName])) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName] = array(); } foreach ($controllerActions as $controllerName => $actionsList) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'][$controllerName] = array('actions' => \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $actionsList)); if (!empty($nonCacheableControllerActions[$controllerName])) { $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['controllers'][$controllerName]['nonCacheableActions'] = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $nonCacheableControllerActions[$controllerName]); } } switch ($pluginType) { case self::PLUGIN_TYPE_PLUGIN: $pluginContent = trim(' tt_content.list.20.' . $pluginSignature . ' = USER tt_content.list.20.' . $pluginSignature . ' { userFunc = TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run extensionName = ' . $extensionName . ' pluginName = ' . $pluginName . (NULL !== $vendorName ? "\n\t" . 'vendorName = ' . $vendorName : '') . ' }'); break; case self::PLUGIN_TYPE_CONTENT_ELEMENT: $pluginContent = trim(' tt_content.' . $pluginSignature . ' = COA tt_content.' . $pluginSignature . ' { 10 = < lib.stdheader 20 = USER 20 { userFunc = TYPO3\\CMS\\Extbase\\Core\\Bootstrap->run extensionName = ' . $extensionName . ' pluginName = ' . $pluginName . (NULL !== $vendorName ? "\n\t\t" . 'vendorName = ' . $vendorName : '') . ' } }'); break; default: throw new \InvalidArgumentException('The pluginType "' . $pluginType . '" is not suported', 1289858856); } $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType'] = $pluginType; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($extensionName, 'setup', ' # Setting ' . $extensionName . ' plugin TypoScript ' . $pluginContent, 'defaultContentRendering'); }
} // Add frontend image rendering TypoScript anyways \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/ImageRendering/setup.txt">', 'defaultContentRendering'); $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['DefaultLink'] = array(); $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['DefaultLink']['objectReference'] = '&TYPO3\\CMS\\Rtehtmlarea\\Extension\\DefaultLink'; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['DefaultLink']['addIconsToSkin'] = 0; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Link'] = array(); $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Link']['objectReference'] = '&TYPO3\\CMS\\Rtehtmlarea\\Extension\\Typo3Link'; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Link']['addIconsToSkin'] = 0; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Link']['disableInFE'] = 1; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Link']['additionalAttributes'] = 'rel'; // Add default Page TS Config RTE configuration for enabling links accessibility icons $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['enableAccessibilityIcons'] = $_EXTCONF['enableAccessibilityIcons'] ?: 0; if ($TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['enableAccessibilityIcons']) { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/res/accessibilityicons/pageTSConfig.txt">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/res/accessibilityicons/setup.txt">', 'defaultContentRendering'); } // Register features that use the style attribute $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['allowStyleAttribute'] = isset($_EXTCONF['allowStyleAttribute']) && !$_EXTCONF['allowStyleAttribute'] ? 0 : 1; if ($TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['allowStyleAttribute']) { $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Color'] = array(); $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Color']['objectReference'] = '&TYPO3\\CMS\\Rtehtmlarea\\Extension\\Typo3Color'; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Color']['addIconsToSkin'] = 0; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TYPO3Color']['disableInFE'] = 0; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['SelectFont'] = array(); $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['SelectFont']['objectReference'] = '&TYPO3\\CMS\\Rtehtmlarea\\Extension\\SelectFont'; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['SelectFont']['addIconsToSkin'] = 0; $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['SelectFont']['disableInFE'] = 0; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/res/style/pageTSConfig.txt">'); } $TYPO3_CONF_VARS['EXTCONF'][$_EXTKEY]['plugins']['TextIndicator'] = array();
<?php /** * Default Constants TSConfig */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'constants', trim('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/Constants.ts">')); /** * Default Setup TSConfig */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTypoScript($_EXTKEY, 'setup', trim('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:' . $_EXTKEY . '/Configuration/TypoScript/Setup.ts">'));