<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $TCA['tt_content']['types'][$_EXTKEY . '_pi1']['showitem'] = 'CType;;4;button;1-1-1, header;;3;;2-2-2'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:bootstrap_tab/locallang_db.xml:tt_content.CType_pi1', $_EXTKEY . '_pi1', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'), 'CType'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/bootstrap_tabs/', 'Bootstrap Tabs');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('sys_file_metadata', 'creative_commons', '', 'after:wiki_commons'); $TCA['sys_file_metadata']['columns']['alt_text']['config']['eval'] = 'required'; $TCA['sys_file_metadata']['columns']['exturl']['config']['eval'] = 'required'; $TCA['sys_file_metadata']['columns']['copyright']['config']['eval'] = 'required'; /** * Register Custom Fluid Content Element */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(['Social Infobox', 'tmplsub_socialinfobox'], 'CType'); /** * Prepare TCA for Custom Fluid Content Element */ $TCA['tt_content']['types']['tmplsub_socialinfobox']['showitem'] = $TCA['tt_content']['types']['bullets']['showitem']; /** * Register Lecture Content Element */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(['Lectures', 'tmplsub_lectures'], 'CType'); /** * Prepare TCA for Custom Fluid Content Element */ $TCA['tt_content']['types']['tmplsub_lectures'] = $TCA['tt_content']['types']['table']; $TCA['tt_content']['columns']['pi_flexform']['config']['ds']['*,tmplsub_lectures'] = 'FILE:EXT:css_styled_content/flexform_ds.xml'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTcaSelectItem('tt_content', 'CType', ['Lectures', 'tmplsub_lectures', 'content-image'], 'textmedia', 'after'); // mandatory fields for the backend $TCA['be_users']['columns']['email']['config']['eval'] = 'trim,required'; $TCA['be_users']['columns']['realName']['config']['eval'] = 'trim,required'; $TCA['be_groups']['columns']['description']['config']['eval'] = 'required'; $TCA['be_groups']['columns']['lockToDomain']['config']['disabled'] = TRUE; $TCA['tt_content']['columns']['header']['config']['eval'] = 'trim,required'; $TCA['tt_content']['columns']['altText']['config']['eval'] = 'trim,required'; $TCA['tt_content']['columns']['titleText']['config']['eval'] = 'trim,required'; $TCA['tt_content']['columns']['imagecaption']['config']['type'] = "input";
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } // get extension configuration $confArr = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['jfmulticontent']); $tempColumns = array('tx_jfmulticontent_view' => array('exclude' => 1, 'onChange' => 'reload', 'label' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.view', 'config' => array('type' => 'select', 'size' => 1, 'maxitems' => 1, 'default' => 'content', 'items' => array(array('LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.view.I.0', 'content'), array('LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.view.I.1', 'page'), array('LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.view.I.2', 'irre')), 'itemsProcFunc' => 'EXT:jfmulticontent/lib/class.tx_jfmulticontent_itemsProcFunc.php:&tx_jfmulticontent_itemsProcFunc->getViews')), 'tx_jfmulticontent_pages' => array('exclude' => 1, 'displayCond' => 'FIELD:tx_jfmulticontent_view:IN:page', 'label' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.pages', 'config' => array('type' => 'group', 'internal_type' => 'db', 'allowed' => 'pages', 'size' => 12, 'minitems' => 0, 'maxitems' => 1000, 'wizards' => array('suggest' => array('type' => 'suggest')))), 'tx_jfmulticontent_irre' => array('exclude' => 1, 'displayCond' => 'FIELD:tx_jfmulticontent_view:IN:irre', 'label' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.irre', 'config' => array('type' => 'inline', 'foreign_table' => 'tt_content', 'foreign_field' => 'tx_jfmulticontent_irre_parentid', 'foreign_sortby' => 'sorting', 'foreign_label' => 'header', 'maxitems' => 1000, 'appearance' => array('showSynchronizationLink' => FALSE, 'showAllLocalizationLink' => FALSE, 'showPossibleLocalizationRecords' => FALSE, 'showRemovedLocalizationRecords' => FALSE, 'expandSingle' => TRUE, 'newRecordLinkAddTitle' => TRUE, 'useSortable' => TRUE), 'behaviour' => array('localizeChildrenAtParentLocalization' => 1, 'localizationMode' => 'select')))); if ($confArr["useStoragePidOnly"]) { $tempColumns['tx_jfmulticontent_contents'] = array('exclude' => 1, 'displayCond' => 'FIELD:tx_jfmulticontent_view:IN:,content', 'label' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.contents', 'config' => array('type' => 'select', 'foreign_table' => 'tt_content', 'foreign_table_where' => 'AND tt_content.pid=###STORAGE_PID### AND tt_content.hidden=0 AND tt_content.deleted=0 AND tt_content.sys_language_uid IN (0,-1) ORDER BY tt_content.uid', 'size' => 12, 'minitems' => 0, 'maxitems' => 1000, 'wizards' => array('_PADDING' => 2, '_VERTICAL' => 1, 'add' => array('type' => 'script', 'title' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.contents_add', 'icon' => 'add.gif', 'module' => array('name' => 'wizard_add', 'urlParameters' => array('table' => 'tt_content', 'pid' => '###STORAGE_PID###', 'setValue' => 'prepend'))), 'list' => array('type' => 'script', 'title' => 'List', 'icon' => 'list.gif', 'module' => array('name' => 'wizard_list', 'urlParameters' => array('table' => 'tt_content', 'pid' => '###STORAGE_PID###'))), 'edit' => array('type' => 'popup', 'title' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.contents_edit', 'icon' => 'edit2.gif', 'module' => array('name' => 'wizard_edit'), 'popup_onlyOpenIfSelected' => 1, 'JSopenParams' => 'height=600,width=800,status=0,menubar=0,scrollbars=1')))); } else { $tempColumns['tx_jfmulticontent_contents'] = array('exclude' => 1, 'displayCond' => 'FIELD:tx_jfmulticontent_view:IN:,content', 'label' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.contents', 'config' => array('type' => 'group', 'internal_type' => 'db', 'allowed' => 'tt_content', 'size' => 12, 'minitems' => 0, 'maxitems' => 1000, 'wizards' => array('_PADDING' => 2, '_VERTICAL' => 1, 'add' => array('type' => 'script', 'title' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.contents_add', 'icon' => 'add.gif', 'module' => array('name' => 'wizard_add', 'urlParameters' => array('table' => 'tt_content', 'pid' => '###STORAGE_PID###', 'setValue' => 'prepend'))), 'list' => array('type' => 'script', 'title' => 'List', 'icon' => 'list.gif', 'module' => array('name' => 'wizard_list', 'urlParameters' => array('table' => 'tt_content', 'pid' => '###STORAGE_PID###'))), 'edit' => array('type' => 'popup', 'title' => 'LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.tx_jfmulticontent.contents_edit', 'icon' => 'edit2.gif', 'module' => array('name' => 'wizard_edit'), 'popup_onlyOpenIfSelected' => 1, 'JSopenParams' => 'height=600,width=800,status=0,menubar=0,scrollbars=1')))); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $tempColumns, 1); $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi1'] = 'layout,select_key,pages'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'tx_jfmulticontent_view,tx_jfmulticontent_pages,tx_jfmulticontent_contents,tx_jfmulticontent_irre,pi_flexform'; // Add reload field to tt_content $TCA['tt_content']['ctrl']['requestUpdate'] .= ($TCA['tt_content']['ctrl']['requestUpdate'] ? ',' : '') . 'tx_jfmulticontent_view'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:jfmulticontent/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY . '_pi1', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:' . $_EXTKEY . '/flexform_ds.xml'); if (TYPO3_MODE == 'BE') { $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_jfmulticontent_pi1_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi1/class.tx_jfmulticontent_pi1_wizicon.php'; if (!isset($TCA['tt_content']['columns']['colPos']['config']['items'][$confArr['colPosOfIrreContent']])) { // Add the new colPos to the array, only if the ID does not exist... $TCA['tt_content']['columns']['colPos']['config']['items'][$confArr['colPosOfIrreContent']] = array($_EXTKEY, $confArr['colPosOfIrreContent']); } } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/', 'Multi content');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_deliveryreciept', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_deliveryreciept.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_deliveryreciept'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_ordering', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_ordering.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_ordering'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_paymentmethod', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_paymentmethod.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_paymentmethod'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_orderablearticle', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_orderablearticle.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_orderablearticle'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_orderingposition', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_orderingposition.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_orderingposition'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_basketentry', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_basketentry.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_basketentry'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_category', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_category.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_category'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_page', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_page.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_page'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('tx_cadabra_domain_model_file', 'EXT:cadabra/Resources/Private/Language/locallang_csh_tx_cadabra_domain_model_file.xlf'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_cadabra_domain_model_file'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:cadabra/Configuration/TypoScript/PageTsConfig.ts">'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:cadabra/Resources/Private/Language/locallang_ce.xlf:cadabra_article', 'cadabra_article'), 'CType', 'cadabra'); $GLOBALS['TCA']['tt_content']['types']['cadabra_article']['showitem'] = 'CType;;cadabra_general-element-properties;1-1-1, --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.header;header, --div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access,--palette--;LLL:EXT:cms/locallang_ttc.xml:palette.visibility; visibility,starttime, endtime'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:cadabra/Resources/Private/Language/locallang_ce.xlf:cadabra_product', 'cadabra_product'), 'CType', 'cadabra'); $GLOBALS['TCA']['tt_content']['types']['cadabra_product']['showitem'] = 'CType;;cadabra_general-element-properties;1-1-1, --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.header;header, --div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access,--palette--;LLL:EXT:cms/locallang_ttc.xml:palette.visibility; visibility,starttime, endtime'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:cadabra/Resources/Private/Language/locallang_ce.xlf:cadabra_basket', 'cadabra_basket'), 'CType', 'cadabra'); $GLOBALS['TCA']['tt_content']['types']['cadabra_basket']['showitem'] = 'CType;;cadabra_general-element-properties;1-1-1, --palette--;LLL:EXT:cms/locallang_ttc.xlf:palette.header;header, --div--;LLL:EXT:cms/locallang_tca.xml:pages.tabs.access,--palette--;LLL:EXT:cms/locallang_ttc.xml:palette.visibility; visibility,starttime, endtime';
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_gridelements_backend_layout'); if (TYPO3_MODE === 'BE') { include_once \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('gridelements') . 'Classes/Backend/TtContent.php'; } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/', 'Gridelements'); // Register backend_layout wizard \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModulePath('wizard_gridelements_backend_layout', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Wizard/'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:gridelements/Resources/Private/Language/locallang_db.xml:tt_content.CType_pi1', $_EXTKEY . '_pi1', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'), 'CType'); // Hooks $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem'][] = 'EXT:gridelements/Classes/Hooks/DrawItem.php:GridElementsTeam\\Gridelements\\Hooks\\DrawItem'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms']['db_new_content_el']['wizardItemsHook'][] = 'EXT:gridelements/Classes/Hooks/WizardItems.php:GridElementsTeam\\Gridelements\\Hooks\\WizardItems'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processCmdmapClass'][] = 'EXT:gridelements/Classes/Hooks/DataHandler.php:GridElementsTeam\\Gridelements\\Hooks\\DataHandler'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = 'EXT:gridelements/Classes/Hooks/DataHandler.php:GridElementsTeam\\Gridelements\\Hooks\\DataHandler'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['moveRecordClass'][] = 'EXT:gridelements/Classes/Hooks/DataHandler.php:GridElementsTeam\\Gridelements\\Hooks\\DataHandler'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_befunc.php']['getFlexFormDSClass'][] = 'EXT:gridelements/Classes/Hooks/BackendUtilityGridelements.php:GridElementsTeam\\Gridelements\\Hooks\\BackendUtilityGridelements'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['tx_templavoila_api']['apiIsRunningTCEmain'] = TRUE; if (TYPO3_MODE === 'BE') { $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess'][] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Hooks/PageRenderer.php:GridElementsTeam\\Gridelements\\Hooks\\PageRenderer->addJSCSS'; } $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list.inc']['makeQueryArray'][] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Hooks/AbstractDatabaseRecordList.php:GridElementsTeam\\Gridelements\\Hooks\\AbstractDatabaseRecordList'; $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['typo3/class.db_list_extra.inc']['actions'][] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Hooks/DatabaseRecordList.php:GridElementsTeam\\Gridelements\\Hooks\\DatabaseRecordList'; $GLOBALS['TYPO3_USER_SETTINGS']['columns']['dragAndDropHideNewElementWizardInfoOverlay'] = array('type' => 'check', 'label' => 'LLL:EXT:gridelements/Resources/Private/Language/locallang_db.xml:dragAndDropHideNewElementWizardInfoOverlay'); $GLOBALS['TYPO3_USER_SETTINGS']['columns']['hideColumnHeaders'] = array('type' => 'check', 'label' => 'LLL:EXT:gridelements/Resources/Private/Language/locallang_db.xml:hideColumnHeaders'); $GLOBALS['TYPO3_USER_SETTINGS']['columns']['hideContentPreview'] = array('type' => 'check', 'label' => 'LLL:EXT:gridelements/Resources/Private/Language/locallang_db.xml:hideContentPreview'); $GLOBALS['TYPO3_USER_SETTINGS']['columns']['showGridInformation'] = array('type' => 'check', 'label' => 'LLL:EXT:gridelements/Resources/Private/Language/locallang_db.xml:showGridInformation'); $GLOBALS['TYPO3_USER_SETTINGS']['showitem'] .= ',--div--;LLL:EXT:gridelements/Resources/Private/Language/locallang_db.xml:gridElements,dragAndDropHideNewElementWizardInfoOverlay,hideColumnHeaders,hideContentPreview,showGridInformation';
/** * Run the loading process for the ext_tables.php file * * @param Loader $loader * @param array $loaderInformation * * @return NULL */ public function loadExtensionTables(Loader $loader, array $loaderInformation) { if (!$loaderInformation) { return null; } $createWizardHeader = []; $predefinedWizards = ['common', 'special', 'forms', 'plugins']; // Add the divider $GLOBALS['TCA']['tt_content']['columns']['CType']['config']['items'][] = [TranslateUtility::getLllString('tt_content.' . $loader->getExtensionKey() . '.header', $loader->getExtensionKey()), '--div--']; foreach ($loaderInformation as $e => $config) { SmartObjectRegister::register($config['modelClass']); $typeKey = $loader->getExtensionKey() . '_' . $e; ExtensionManagementUtility::addPlugin([TranslateUtility::getLllOrHelpMessage('content.element.' . $e, $loader->getExtensionKey()), $typeKey, $config['iconExt']], 'CType'); if (!isset($GLOBALS['TCA']['tt_content']['types'][$typeKey]['showitem'])) { $baseTcaConfiguration = $this->wrapDefaultTcaConfiguration($config['fieldConfiguration'], (bool) $config['noHeader']); if (ExtensionManagementUtility::isLoaded('gridelements')) { $baseTcaConfiguration .= ',tx_gridelements_container,tx_gridelements_columns'; } $GLOBALS['TCA']['tt_content']['types'][$typeKey]['showitem'] = $baseTcaConfiguration; } // RTE if (isset($config['richTextFields']) && is_array($config['richTextFields']) && $config['richTextFields']) { foreach ($config['richTextFields'] as $field) { $GLOBALS['TCA']['tt_content']['types'][$typeKey]['columnsOverrides'][$field] = ['config' => ['type' => 'text'], 'defaultExtras' => 'richtext:rte_transform[flag=rte_enabled|mode=ts_css]']; } } IconUtility::addTcaTypeIcon('tt_content', $typeKey, $config['icon']); $tabName = $config['tabInformation'] ? $config['tabInformation'] : $loader->getExtensionKey(); if (!in_array($tabName, $predefinedWizards) && !in_array($tabName, $createWizardHeader)) { $createWizardHeader[] = $tabName; } ExtensionManagementUtility::addPageTSConfig(' mod.wizards.newContentElement.wizardItems.' . $tabName . '.elements.' . $typeKey . ' { icon = ' . $config['icon'] . ' title = ' . TranslateUtility::getLllOrHelpMessage('wizard.' . $e, $loader->getExtensionKey()) . ' description = ' . TranslateUtility::getLllOrHelpMessage('wizard.' . $e . '.description', $loader->getExtensionKey()) . ' tt_content_defValues { CType = ' . $typeKey . ' } } mod.wizards.newContentElement.wizardItems.' . $tabName . '.show := addToList(' . $typeKey . ')'); $cObjectConfiguration = ['extensionKey' => $loader->getExtensionKey(), 'backendTemplatePath' => 'EXT:' . $loader->getExtensionKey() . '/Resources/Private/Templates/Content/' . $config['model'] . 'Backend.html', 'modelClass' => $config['modelClass']]; $GLOBALS['TYPO3_CONF_VARS']['AUTOLOADER']['ContentObject'][$loader->getExtensionKey() . '_' . GeneralUtility::camelCaseToLowerCaseUnderscored($config['model'])] = $cObjectConfiguration; } if ($createWizardHeader) { foreach ($createWizardHeader as $element) { ExtensionManagementUtility::addPageTSConfig(' mod.wizards.newContentElement.wizardItems.' . $element . ' { show = * header = ' . TranslateUtility::getLllOrHelpMessage('wizard.' . $element . '.header', $loader->getExtensionKey()) . ' }'); } } return null; }
<?php defined('TYPO3_MODE') or die; // Register "old" FE plugin and hide layout, select_key and pages fields in BE \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(['LLL:EXT:indexed_search/Resources/Private/Language/locallang_main.xlf:mod_indexed_search', 'indexed_search'], 'list_type', 'indexed_search'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['indexed_search'] = 'layout,select_key,pages';
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/', 'SAE Provider Extension Static TypoScript'); // Adds the content element to the "Type" dropdown \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('Jumbotron', 'theme_jumbotron', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/jumbotron.gif'), 'CType');
<?php // search plugin $pluginCode = 'solr_pi_results'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:solr/locallang_db.xml:tt_content.list_type_pi_results', $pluginCode), 'list_type', 'solr'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginCode] = 'layout,select_key,pages,recursive'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginCode] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginCode, 'FILE:EXT:solr/Configuration/FlexForms/Results.xml'); // adding the Search Form plugin $pluginCode = 'solr_pi_search'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:solr/locallang_db.xml:tt_content.list_type_pi_search', $pluginCode), 'list_type', 'solr'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginCode] = 'layout,select_key,pages,recursive'; // adding the Frequent Search plugin $pluginCode = 'solr_pi_frequentsearches'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:solr/locallang_db.xml:tt_content.list_type_pi_frequentsearches', $pluginCode), 'list_type', 'solr'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginCode] = 'layout,select_key,pages,recursive';
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_statistics', 'FILE:EXT:' . $_EXTKEY . '/plugins/statistics/flexform.xml'); // Plugin "table of contents". $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_toc'] = 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_toc'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:dlf/locallang.xml:tt_content.dlf_toc', $_EXTKEY . '_toc'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'plugins/toc/', 'Table of Contents'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_toc', 'FILE:EXT:' . $_EXTKEY . '/plugins/toc/flexform.xml'); // Plugin "toolbox". $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_toolbox'] = 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_toolbox'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:dlf/locallang.xml:tt_content.dlf_toolbox', $_EXTKEY . '_toolbox'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_toolbox', 'FILE:EXT:' . $_EXTKEY . '/plugins/toolbox/flexform.xml'); // Plugin "validator". $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_validator'] = 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_validator'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:dlf/locallang.xml:tt_content.dlf_validator', $_EXTKEY . '_validator'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_validator', 'FILE:EXT:' . $_EXTKEY . '/plugins/validator/flexform.xml'); // Register modules. if (TYPO3_MODE == 'BE') { // Add modules after "web". if (!isset($TBE_MODULES['txdlfmodules'])) { $modules = array(); foreach ($TBE_MODULES as $key => $val) { if ($key == 'web') { $modules[$key] = $val; $modules['txdlfmodules'] = ''; } else { $modules[$key] = $val; } } $TBE_MODULES = $modules;
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_pagerenderer.php']['render-preProcess'][] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'Classes/Hooks/PageRenderer.php:KayStrobach\\Themes\\Hooks\\PageRenderer->addJSCSS'; } /** * add themes overlay */ array_push($GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayPriorities'], 'themefound'); $GLOBALS['TBE_STYLES']['spriteIconApi']['spriteIconRecordOverlayNames']['themefound'] = 'extensions-themes-overlay-theme'; /** * add sprites \TYPO3\CMS\Backend\Sprite\SpriteManager::addSingleIcons( array( //'switch-off' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/power_orange.png', 'switch-disable' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/power_grey.png', 'switch-on' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Icons/power_green.png', 'contains-theme' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.png', ), $_EXTKEY ); */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_themes_buttoncontent'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:themes/Resources/Private/Language/ButtonContent.xlf:tt_content.CType_pi1', $_EXTKEY . '_buttoncontent_pi1', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'buttoncontent_icon.gif'), 'CType'); // Register module icon $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class); $iconRegistry->registerIcon('module-themes', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array('source' => 'EXT:themes/ext_icon.svg')); $iconRegistry->registerIcon('content-button', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array('source' => 'EXT:themes/Resources/Public/Icons/new_content_el_ButtonContent.svg')); $iconRegistry->registerIcon('switch-off', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array('source' => 'EXT:themes/Resources/Public/Icons/power_grey.svg')); $iconRegistry->registerIcon('switch-on', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array('source' => 'EXT:themes/Resources/Public/Icons/power_green.svg')); $iconRegistry->registerIcon('switch-disable', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array('source' => 'EXT:themes/Resources/Public/Icons/power_orange.svg')); $iconRegistry->registerIcon('overlay-theme', \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class, array('source' => 'EXT:themes/Resources/Public/Icons/overlay_theme.svg')); $GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = array(0 => 'LLL:EXT:themes/Resources/Private/Language/locallang.xlf:contains-theme', 1 => 'themes', 2 => 'extensions-themes-contains-theme'); $GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-themes'] = 'extensions-themes-contains-theme';
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi1'] = 'layout,select_key'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:ziwu_traceparts/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY . '_pi1'), 'list_type'); // add flexform to pi1 $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:' . $_EXTKEY . '/pi1/flexform.xml'); $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi2'] = 'layout,select_key'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:ziwu_traceparts/locallang_db.xml:tt_content.list_type_pi2', $_EXTKEY . '_pi2'), 'list_type'); // add flexform to pi2 $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi2'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi2', 'FILE:EXT:' . $_EXTKEY . '/pi2/flexform.xml');
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi1'] = 'layout,select_key'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:ods_ajaxmailsubscription/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY . '_pi1'), 'list_type'); $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:' . $_EXTKEY . '/pi1/flexform.xml'); if (TYPO3_MODE == "BE") { $TBE_MODULES_EXT["xMOD_db_new_content_el"]["addElClasses"]["tx_odsajaxmailsubscription_pi1_wizicon"] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi1/class.tx_odsajaxmailsubscription_pi1_wizicon.php'; }
/* * This file is part of the TYPO3 CMS project. * * It is free software; you can redistribute it and/or modify it under * the terms of the GNU General Public License, either version 2 * of the License, or any later version. * * For the full copyright and license information, please read the * LICENSE.txt file that was distributed with this source code. * * The TYPO3 project - inspiring people to share! */ $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][COMMERCE_EXTKEY . '_pi1'] = 'layout,select_key'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][COMMERCE_EXTKEY . '_pi1'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue(COMMERCE_EXTKEY . '_pi1', 'FILE:EXT:commerce/Configuration/FlexForms/flexform_pi1.xml'); /* ################# PI1 (product listing) ##################### */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:commerce/Resources/Private/Language/locallang_be.xml:tt_content.list_type_pi1', COMMERCE_EXTKEY . '_pi1'), 'list_type', 'commerce'); /* ################# PI2 (basket) ##################### */ $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][COMMERCE_EXTKEY . '_pi2'] = 'layout,select_key,pages'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:commerce/Resources/Private/Language/locallang_be.xml:tt_content.list_type_pi2', COMMERCE_EXTKEY . '_pi2'), 'list_type', 'commerce'); /* ################# PI3 (checkout) ##################### */ $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][COMMERCE_EXTKEY . '_pi3'] = 'layout,select_key,pages'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:commerce/Resources/Private/Language/locallang_be.xml:tt_content.list_type_pi3', COMMERCE_EXTKEY . '_pi3'), 'list_type', 'commerce'); /* ################# PI4 (addresses) ##################### */ $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][COMMERCE_EXTKEY . '_pi4'] = 'layout,select_key,pages'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:commerce/Resources/Private/Language/locallang_be.xml:tt_content.list_type_pi4', COMMERCE_EXTKEY . '_pi4'), 'list_type', 'commerce'); /* ################ PI6 (invoice) ############################*/ $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][COMMERCE_EXTKEY . '_pi6'] = 'layout,select_key,pages'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:commerce/Resources/Private/Language/locallang_be.xml:tt_content.list_type_pi6', COMMERCE_EXTKEY . '_pi6'), 'list_type', 'commerce');
/* Add the plugin to the New Content Element wizard */ $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_wecmap_pi1_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi1/class.tx_wecmap_pi1_wizicon.php'; $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_wecmap_pi2_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi2/class.tx_wecmap_pi2_wizicon.php'; $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_wecmap_pi3_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi3/class.tx_wecmap_pi3_wizicon.php'; } /* Set up the tt_content fields for the two frontend plugins */ $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi1'] = 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi2'] = 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi3'] = 'layout,select_key,pages,recursive'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'pi_flexform'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi2'] = 'pi_flexform'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi3'] = 'pi_flexform'; /* Adds the plugins and flexforms to the TCA */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:wec_map/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY . '_pi1'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:wec_map/locallang_db.xml:tt_content.list_type_pi2', $_EXTKEY . '_pi2'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:wec_map/locallang_db.xml:tt_content.list_type_pi3', $_EXTKEY . '_pi3'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi1', 'FILE:EXT:wec_map/pi1/flexform_ds.xml'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi2', 'FILE:EXT:wec_map/pi2/flexform_ds.xml'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi3', 'FILE:EXT:wec_map/pi3/flexform_ds.xml'); // register Ajax scripts \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler('txwecmapM1::deleteAll', 'tx_wecmap_module1_ajax->ajaxDeleteAll'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler('txwecmapM1::deleteSingle', 'tx_wecmap_module1_ajax->ajaxDeleteSingle'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler('txwecmapM1::updatePagination', 'tx_wecmap_module1_ajax->ajaxUpdatePagination'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler('txwecmapM1::saveRecord', 'tx_wecmap_module1_ajax->ajaxSaveRecord'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::registerAjaxHandler('txwecmapM1::batchGeocode', 'tx_wecmap_module1_ajax->ajaxBatchGeocode'); /* Add static TS template for plugins */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/', 'WEC Map API'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'pi3/static/', 'WEC Table Map'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'pi2/static/', 'WEC Frontend User Map'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'pi1/static/', 'WEC Simple Map'); $TCA['tx_wecmap_external'] = array('ctrl' => array('title' => 'LLL:EXT:wec_map/locallang_db.xml:tx_wecmap_external', 'label' => 'title', 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'delete' => 'deleted', 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'tca.php', 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'res/icon_tx_wecmap_external_resource.gif'), 'feInterface' => array('fe_admin_fieldList' => 'title, url'));
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } if (!(TYPO3_REQUESTTYPE & TYPO3_REQUESTTYPE_INSTALL)) { \FluidTYPO3\Flux\Core::registerConfigurationProvider('FluidTYPO3\\Fluidcontent\\Provider\\ContentProvider'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('Fluid Content', 'fluidcontent_content', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('fluidcontent') . 'ext_icon.gif'), \TYPO3\CMS\Extbase\Utility\ExtensionUtility::PLUGIN_TYPE_CONTENT_ELEMENT, 'FluidTYPO3.Fluidcontent'); }
/** * Register an Extbase PlugIn into backend's list of plugins * FOR USE IN ext_tables.php FILES * * @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 string $pluginTitle is a speaking title of the plugin that will be displayed in the drop down menu in the backend * @param string $pluginIconPathAndFilename is a path to an icon file (relative to TYPO3_mainDir), that will be displayed in the drop down menu in the backend (optional) * @throws \InvalidArgumentException * @return void */ public static function registerPlugin($extensionName, $pluginName, $pluginTitle, $pluginIconPathAndFilename = NULL) { if (empty($pluginName)) { throw new \InvalidArgumentException('The plugin name must not be empty', 1239891988); } 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]/)', 1239891991); } $delimiterPosition = strrpos($extensionName, '.'); if ($delimiterPosition !== FALSE) { $extensionName = substr($extensionName, $delimiterPosition + 1); } $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName))); $pluginSignature = strtolower($extensionName) . '_' . strtolower($pluginName); // At this point $extensionName is normalized, no matter which format the method was feeded with. // Calculate the original extensionKey from this again. $extensionKey = \TYPO3\CMS\Core\Utility\GeneralUtility::camelCaseToLowerCaseUnderscored($extensionName); // pluginType is usually defined by configurePlugin() in the global array. Use this or fall back to default "list_type". $pluginType = isset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType']) ? $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType'] : 'list_type'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array($pluginTitle, $pluginSignature, $pluginIconPathAndFilename), $pluginType, $extensionKey); }
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } /** * Default TypoScript */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/Extbase/Default', 'BK2K Extbase CE Default'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/Extbase/Replacement', 'BK2K Extbase CEs Replacement'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/Fluidtemplate/Replacement', 'BK2K Fluidtemplate CEs Replacement'); /** * Register Custom Content Element */ \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin('Bk2k.' . $_EXTKEY, 'CustomContentElement', 'Custom Content Element'); /** * Prepare TCA for Custom Content Element */ \TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA('tt_content'); $TCA['tt_content']['types']['bk2kcontentelements_customcontentelement']['showitem'] = $TCA['tt_content']['types']['textpic']['showitem']; /** * Register Custom Fluid Content Element */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('Custom Content Element Fluid', 'bk2kcontentelements_customfluidelement'), 'CType'); /** * Prepare TCA for Custom Fluid Content Element */ $TCA['tt_content']['types']['bk2kcontentelements_customfluidelement']['showitem'] = $TCA['tt_content']['types']['textpic']['showitem'];
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } // Adds the content element to the "Type" dropdown \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:website/Resources/Private/Language/locallang.xlf:website_newcontentelement.gallery.title', 'website_gallery', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/icons/website_gallery.png'), 'CType'); // Configure the default backend fields for the content element $GLOBALS['TCA']['tt_content']['types']['website_gallery'] = array('showitem' => ' --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:palette.general;general, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:palette.header;header, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.media, media, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.imagelinks;imagelinks, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:tabs.appearance, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:palette.frames;frames, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:tabs.access, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:palette.visibility;visibility, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:palette.access;access, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xml:tabs.extended '); // Register for hook to show preview of tt_content element of CType="website_gallery" in page module $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['cms/layout/class.tx_cms_layout.php']['tt_content_drawItem']['website_gallery'] = \Featdd\Website\Hooks\WebsiteGalleryPreviewRenderer::class;
* @author Reinhard Führicht <*****@*****.**> * @package Tx_Formhandler */ if (!defined('TYPO3_MODE')) { die('Access denied.'); } if (TYPO3_MODE === 'BE') { $TCA['tt_content']['types'][$_EXTKEY . '_pi1']['showitem'] = ' --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.header;header, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.plugin,pi_flexform, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.behaviour, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.extended '; // Add flexform field to plugin options $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'pi_flexform'; $file = 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_ds.xml'; // Add flexform DataStructure \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue('*', $file, $_EXTKEY . '_pi1'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:formhandler/Resources/Private/Language/locallang_db.xml:tt_content.list_type_pi1', $_EXTKEY . '_pi1'), 'CType'); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerModule('Typoheads.' . $_EXTKEY, 'web', 'log', 'bottom', array('Module' => 'index, view, selectFields, export, deleteLogRows'), array('access' => 'user,group', 'icon' => 'EXT:' . $_EXTKEY . '/Resources/Public/Icons/moduleicon.gif', 'labels' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang_mod.xml')); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/ExampleConfiguration', 'Example Configuration'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('tx_formhandler_log'); $TCA['pages']['columns']['module']['config']['items'][] = array('LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang.xml:title', 'formlogs', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'); \TYPO3\CMS\Backend\Sprite\SpriteManager::addTcaTypeIcon('pages', 'contains-formlogs', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'Resources/Public/Images/pagetreeicon.png');
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('Gorillary Gallery', $_EXTKEY . '_pi1', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('Gorillary Media Feed Gallery', $_EXTKEY . '_pi2', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'ext_icon.gif'), 'list_type'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages("tx_gorillary_feedimports"); $GLOBALS['TCA']['tx_gorillary_feedimports'] = array('ctrl' => array('title' => 'LLL:EXT:gorillary/locallang_db.xml:tx_gorillary_feedimports', 'label' => 'title', 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'cruser_id' => 'cruser_id', 'languageField' => 'sys_language_uid', 'transOrigPointerField' => 'l10n_parent', 'transOrigDiffSourceField' => 'l10n_diffsource', 'default_sortby' => 'ORDER BY crdate', 'delete' => 'deleted', 'enablecolumns' => array('disabled' => 'hidden'), 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'tca.php', 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'images/media-import.png')); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages("tx_gorillary_collections"); $GLOBALS['TCA']['tx_gorillary_collections'] = array('ctrl' => array('title' => 'LLL:EXT:gorillary/locallang_db.xml:tx_gorillary_collections', 'label' => 'title', 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'cruser_id' => 'cruser_id', 'languageField' => 'sys_language_uid', 'transOrigPointerField' => 'l10n_parent', 'transOrigDiffSourceField' => 'l10n_diffsource', 'default_sortby' => 'ORDER BY crdate', 'sortby' => 'sorting', 'delete' => 'deleted', 'enablecolumns' => array('disabled' => 'hidden'), 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'tca.php', 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'images/image-stack.png')); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages("tx_gorillary_images"); $GLOBALS['TCA']['tx_gorillary_images'] = array('ctrl' => array('title' => 'LLL:EXT:gorillary/locallang_db.xml:tx_gorillary_images', 'label' => 'title', 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'cruser_id' => 'cruser_id', 'sortby' => 'sorting', 'delete' => 'deleted', 'enablecolumns' => array('disabled' => 'hidden'), 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'tca.php', 'iconfile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath($_EXTKEY) . 'images/image.png')); $tempColumns = array("tx_gorillary_imagesource" => array("exclude" => 1, "label" => "LLL:EXT:gorillary/locallang_db.xml:tx_gorillary_collections", "config" => array("type" => "inline", "foreign_table" => "tx_gorillary_collections", "foreign_field" => "parentid", "foreign_table_field" => "parenttable", "maxitems" => 10, 'appearance' => array('showSynchronizationLink' => 1, 'showAllLocalizationLink' => 1, 'showPossibleLocalizationRecords' => 1, 'showRemovedLocalizationRecords' => 1, 'enabledControls' => array('new' => 1, 'delete' => 1, 'sort' => 1, 'hide' => 1, 'dragdrop' => 1)), 'behaviour' => array('localizationMode' => 'select'))), "tx_gorillary_feedimports" => array("exclude" => 1, "label" => "LLL:EXT:gorillary/locallang_db.xml:tx_gorillary_feedimports", "config" => array("type" => "inline", "foreign_table" => "tx_gorillary_feedimports", "foreign_field" => "parentid", "foreign_table_field" => "parenttable", "maxitems" => 10, 'appearance' => array('showSynchronizationLink' => 1, 'showAllLocalizationLink' => 1, 'showPossibleLocalizationRecords' => 1, 'showRemovedLocalizationRecords' => 1, 'enabledControls' => array('new' => 1, 'delete' => 1, 'sort' => 1, 'hide' => 1, 'dragdrop' => 1)), 'behaviour' => array('localizationMode' => 'select')))); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', $tempColumns, 1); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi1'] = 'layout,select_key,pages,recursive'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi1'] = 'tx_gorillary_imagesource'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi2'] = 'layout,select_key,pages,recursive'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi2'] = 'tx_gorillary_feedimports'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/gorillary_gallery_default_configuration/', 'Gorillary base configuration'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/gorillary_jquery/', 'Gorillary jQuery'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/gorillary_jquery_cycle/', 'Gorillary jQuery Cycle'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/gorillary_jquery_galleriffic/', 'Gorillary jQuery Galleriffic'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/gorillary_jquery_colorbox/', 'Gorillary jQuery Colorbox'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'static/gorillary_direct_link_to_image/', 'Gorillary direct image link'); if (TYPO3_MODE == 'BE') { $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_gorillary_pi1_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi1/class.tx_gorillary_pi1_wizicon.php'; $TBE_MODULES_EXT['xMOD_db_new_content_el']['addElClasses']['tx_gorillary_pi2_wizicon'] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi2/class.tx_gorillary_pi2_wizicon.php'; }
/** * Register an Extbase PlugIn into backend's list of plugins * FOR USE IN ext_tables.php FILES * * @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 string $pluginTitle is a speaking title of the plugin that will be displayed in the drop down menu in the backend * @param string $pluginIconPathAndFilename is a path to an icon file (relative to TYPO3_mainDir), that will be displayed in the drop down menu in the backend (optional) * @throws \InvalidArgumentException * @return void */ public static function registerPlugin($extensionName, $pluginName, $pluginTitle, $pluginIconPathAndFilename = null) { self::checkPluginNameFormat($pluginName); self::checkExtensionNameFormat($extensionName); $delimiterPosition = strrpos($extensionName, '.'); if ($delimiterPosition !== false) { $extensionName = substr($extensionName, $delimiterPosition + 1); } $extensionName = str_replace(' ', '', ucwords(str_replace('_', ' ', $extensionName))); $pluginSignature = strtolower($extensionName) . '_' . strtolower($pluginName); // At this point $extensionName is normalized, no matter which format the method was feeded with. // Calculate the original extensionKey from this again. $extensionKey = \TYPO3\CMS\Core\Utility\GeneralUtility::camelCaseToLowerCaseUnderscored($extensionName); // pluginType is usually defined by configurePlugin() in the global array. Use this or fall back to default "list_type". $pluginType = isset($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType']) ? $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['extbase']['extensions'][$extensionName]['plugins'][$pluginName]['pluginType'] : 'list_type'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin([$pluginTitle, $pluginSignature, $pluginIconPathAndFilename], $pluginType, $extensionKey); }
/** * @test * @expectedException \RuntimeException */ public function addPluginThrowsExceptionForMissingExtkey() { ExtensionManagementUtility::addPlugin('test'); }
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:indexed_search/locallang.php:mod_indexed_search', $_EXTKEY)); \TYPO3\CMS\Core\Utility\GeneralUtility::loadTCA('tt_content'); $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY] = 'layout,select_key,pages'; // Registers the Extbase plugin to be listed in the Backend. if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('extbase')) { $extensionName = \TYPO3\CMS\Core\Utility\GeneralUtility::underscoredToUpperCamelCase($_EXTKEY); \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin($_EXTKEY, 'Pi2', 'Indexed Search (experimental)'); $pluginSignature = strtolower($extensionName) . '_pi2'; $TCA['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature] = 'layout,select_key,pages,recursive'; } if (TYPO3_MODE == 'BE') { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule('tools', 'isearch', 'after:log', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'mod/'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction('web_info', 'TYPO3\\CMS\\IndexedSearch\\Controller\\IndexedPagesController', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'modfunc1/class.tx_indexedsearch_modfunc1.php', 'LLL:EXT:indexed_search/locallang.php:mod_indexed_search'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction('web_info', 'TYPO3\\CMS\\IndexedSearch\\Controller\\IndexingStatisticsController', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'modfunc2/class.tx_indexedsearch_modfunc2.php', 'LLL:EXT:indexed_search/locallang.php:mod2_indexed_search'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::allowTableOnStandardPages('index_config'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('index_config', 'EXT:indexed_search/locallang_csh_indexcfg.xml'); $TCA['index_config'] = array('ctrl' => array('title' => 'LLL:EXT:indexed_search/locallang_db.php:index_config', 'label' => 'title', 'tstamp' => 'tstamp', 'crdate' => 'crdate', 'cruser_id' => 'cruser_id', 'type' => 'type', 'default_sortby' => 'ORDER BY crdate', 'enablecolumns' => array('disabled' => 'hidden', 'starttime' => 'starttime'), 'dynamicConfigFile' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'tca.php', 'iconfile' => 'default.gif'), 'feInterface' => array('fe_admin_fieldList' => 'hidden, starttime, title, description, type, depth, table2index, alternative_source_pid, get_params, chashcalc, filepath, extensions'));
<?php defined('TYPO3_MODE') or die; // Register "old" FE plugin and hide layout, select_key and pages fields in BE \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:indexed_search/locallang.xlf:mod_indexed_search', 'indexed_search'), 'list_type', 'indexed_search'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['indexed_search'] = 'layout,select_key,pages'; // Registers "new" extbase based FE plugin and hide layout, select_key, pages and recursive fields in BE \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin('indexed_search', 'Pi2', 'Indexed Search (experimental)'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist']['indexedsearch_pi2'] = 'layout,select_key,pages,recursive';
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/', 'Direct Mail subscription'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(['LLL:EXT:direct_mail_subscription/Resources/Private/Language/locallang_db.xml:pi_dmail_subscr', '21']);
<?php // search plugin $pluginCode = 'solr_pi_results'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_results', $pluginCode), 'list_type', 'solr'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginCode] = 'layout,select_key,pages,recursive'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginCode] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginCode, 'FILE:EXT:solr/Configuration/FlexForms/Results.xml'); // adding the Search Form plugin $pluginCode = 'solr_pi_search'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_search', $pluginCode), 'list_type', 'solr'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginCode] = 'layout,select_key,pages,recursive'; // adding the Frequent Search plugin $pluginCode = 'solr_pi_frequentsearches'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:solr/Resources/Private/Language/locallang.xlf:tt_content.list_type_pi_frequentsearches', $pluginCode), 'list_type', 'solr'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginCode] = 'layout,select_key,pages,recursive';
if (TYPO3_MODE == "BE") { $TBE_MODULES_EXT["xMOD_db_new_content_el"]["addElClasses"]["tx_caretaker_pi_singleview_wizicon"] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi_singleview/class.tx_caretaker_pi_singleview_wizicon.php'; } // graphreport $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi_graphreport'] = 'layout,select_key,pages'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi_graphreport'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi_graphreport', 'FILE:EXT:' . $_EXTKEY . '/pi_graphreport/flexform_ds.xml'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:caretaker/locallang_db.xml:tt_content.list_type_pi_graphreport', $_EXTKEY . '_pi_graphreport'), 'list_type'); if (TYPO3_MODE == "BE") { $TBE_MODULES_EXT["xMOD_db_new_content_el"]["addElClasses"]["tx_caretaker_pi_graphreport_wizicon"] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi_graphreport/class.tx_caretaker_pi_graphreport_wizicon.php'; } // abstract $TCA['tt_content']['types']['list']['subtypes_excludelist'][$_EXTKEY . '_pi_abstract'] = 'layout,select_key,pages'; $TCA['tt_content']['types']['list']['subtypes_addlist'][$_EXTKEY . '_pi_abstract'] = 'pi_flexform'; \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($_EXTKEY . '_pi_abstract', 'FILE:EXT:' . $_EXTKEY . '/pi_abstract/flexform_ds.xml'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:caretaker/locallang_db.xml:tt_content.list_type_pi_abstract', $_EXTKEY . '_pi_abstract'), 'list_type'); if (TYPO3_MODE == "BE") { $TBE_MODULES_EXT["xMOD_db_new_content_el"]["addElClasses"]["tx_caretaker_pi_abstract_wizicon"] = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . 'pi_abstract/class.tx_caretaker_pi_abstract_wizicon.php'; } // register Extension TS templates \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'res/typoscript/plugin', 'Caretaker Plugin Template'); // register Extension TS templates \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'res/typoscript/page', 'Caretaker Page Template'); // Register Backend Modules if (TYPO3_MODE == "BE") { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule("txcaretakerNav", "", "", \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . "mod_nav/"); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addModule("txcaretakerNav", "txcaretakerOverview", "", \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath($_EXTKEY) . "mod_overview/"); $caretaker_modconf = NULL; if (isset($TBE_MODULES['file'])) { $caretaker_modconf = $TBE_MODULES['txcaretakerNav']; unset($TBE_MODULES['txcaretakerNav']);
/** * Generates and sets the tca for all the content-elements * * @param array $tca * @author Benjamin Butschell <*****@*****.**> */ public function setElementsTca($tca) { // backwards compatibility for typo3 6.2 $version = \TYPO3\CMS\Core\Utility\VersionNumberUtility::getNumericTypo3Version(); $versionNumber = \TYPO3\CMS\Core\Utility\VersionNumberUtility::convertVersionNumberToInteger($version); if ($versionNumber >= 7000000) { $defaultTabs = ",--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.extended,--div--;LLL:EXT:lang/locallang_tca.xlf:sys_category.tabs.category,categories"; } else { $defaultTabs = ",--div--;LLL:EXT:cms/locallang_tca.xlf:pages.tabs.access,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.extended,--div--;LLL:EXT:lang/locallang_tca.xlf:sys_category.tabs.category,categories"; } // add gridelements fields, to make mask work with gridelements out of the box $gridelements = ''; if (\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::isLoaded('gridelements')) { $gridelements = ', tx_gridelements_container, tx_gridelements_columns'; } if ($tca) { foreach ($tca as $elementvalue) { $fields = ""; $label = $elementvalue["shortLabel"]; // Optional shortLabel if ($label == "") { $label = $elementvalue["label"]; } \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array($label, "mask_" . $elementvalue["key"]), "CType", "mask"); if ($versionNumber < 7000000) { if (is_array($elementvalue["options"])) { foreach ($elementvalue["options"] as $optionkey => $optionvalue) { if ($optionvalue == "rte") { $elementvalue["columns"][$optionkey] .= ";;;richtext[]:rte_transform[mode=ts]"; } } } } if (is_array($elementvalue["columns"])) { $fields .= implode(",", $elementvalue["columns"]); } $GLOBALS['TCA']["tt_content"]["types"]["mask_" . $elementvalue["key"]]["showitem"] = "--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general," . $fields . $defaultTabs . $gridelements; } } }
<?php if (!defined('TYPO3_MODE')) { die('Access denied.'); } $_EXTKEY = $GLOBALS['_EXTKEY'] = 'cal'; $extensionName = \TYPO3\CMS\Core\Utility\GeneralUtility::underscoredToUpperCamelCase($_EXTKEY); $pluginSignature = strtolower($extensionName) . '_controller'; /*************** * Plugin */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPlugin(array('LLL:EXT:cal/Resources/Private/Language/locallang_db.xml:tt_content.list_type', $_EXTKEY . '_controller'), 'list_type'); $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_excludelist'][$pluginSignature] = 'layout,select_key'; $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist'][$pluginSignature] = 'pi_flexform'; $GLOBALS['TCA']['tt_content']['columns']['tx_cal_media']['config']['uploadfolder'] = 'uploads/tx_cal/media'; $extConf = unserialize($GLOBALS['TYPO3_CONF_VARS']['EXT']['extConf']['cal']); if ($extConf['categoryService'] == 'sys_category') { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_cal_sys_category.xml'); } else { \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPiFlexFormValue($pluginSignature, 'FILE:EXT:' . $_EXTKEY . '/Configuration/FlexForms/flexform_cal.xml'); } /*************** * Default TypoScript */ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/ts/', 'Classic CSS-based template'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/ts_standard/', 'Standard CSS-based template'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/ajax/', 'AJAX-based template (Experimental!)'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/css/', 'Classic CSS styles'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/css_standard/', 'Standard CSS styles'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/rss_feed/', 'News-feed (RSS,RDF,ATOM)'); \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addStaticFile($_EXTKEY, 'Configuration/TypoScript/ics/', 'ICS Export');