/** * Returns information about this extension plugin * * @param array $params Parameters to the hook * * @return string Information about pi1 plugin * @hook TYPO3_CONF_VARS|SC_OPTIONS|cms/layout/class.tx_cms_layout.php|list_type_Info|calendarize_calendar */ public function getExtensionSummary(array $params) { if ($params['row']['list_type'] != 'calendarize_calendar') { return ''; } $this->flexFormService = GeneralUtility::makeInstance('HDNET\\Calendarize\\Service\\FlexFormService'); $this->flexFormService->load($params['row']['pi_flexform']); if (!$this->flexFormService->isValid()) { return ''; } $extensionIcon = IconUtility::getByExtensionKey('calendarize', true); $extensionRelPath = ExtensionManagementUtility::extRelPath('calendarize'); $this->layoutService = GeneralUtility::makeInstance('HDNET\\Calendarize\\Service\\ContentElementLayoutService'); $this->layoutService->setTitle('<img src="' . str_replace('EXT:calendarize/', $extensionRelPath, $extensionIcon) . '" width="32" height="32" /> Calendarize'); $actions = $this->flexFormService->get('switchableControllerActions', 'main'); $parts = GeneralUtility::trimExplode(';', $actions, true); $parts = array_map(function ($element) { $split = explode('->', $element); return ucfirst($split[1]); }, $parts); $actionKey = lcfirst(implode('', $parts)); $this->layoutService->addRow(TranslateUtility::get('mode'), TranslateUtility::get('mode.' . $actionKey)); $this->layoutService->addRow(TranslateUtility::get('configuration'), $this->flexFormService->get('settings.configuration', 'main')); if ((bool) $this->flexFormService->get('settings.hidePagination', 'main')) { $this->layoutService->addRow(TranslateUtility::get('hide.pagination.teaser'), '!!!'); } $this->addPageIdsToTable(); return $this->layoutService->render(); }
/** * Modifies CacheMenuItems array * * @param array $cacheActions * @param array $optionValues * * @return void */ public function manipulateCacheActions(&$cacheActions, &$optionValues) { if ($this->isProduction() || !$this->isAdmin()) { return; } $cacheActions[] = ['id' => 'autoloader', 'title' => 'EXT:autoloader caches', 'href' => BackendUtility::getAjaxUrl('autoloader::clearCache'), 'icon' => '<img src="' . IconUtility::getByExtensionKey('autoloader') . '">']; }
<?php /** * General ext_tables file and also an example for your own extension * * @category Extension * @package Calendarize * @author Tim Lochmüller */ if (!defined('TYPO3_MODE')) { die('Access denied.'); } \HDNET\Autoloader\Loader::extTables('HDNET', 'calendarize', \HDNET\Calendarize\Register::getDefaultAutoloader()); if (!(bool) \HDNET\Calendarize\Utility\ConfigurationUtility::get('disableDefaultEvent')) { \HDNET\Calendarize\Register::extTables(\HDNET\Calendarize\Register::getDefaultCalendarizeConfiguration()); \TYPO3\CMS\Core\Category\CategoryRegistry::getInstance()->add('calendarize', 'tx_calendarize_domain_model_event'); } \TYPO3\CMS\Extbase\Utility\ExtensionUtility::registerPlugin('calendarize', 'Calendar', \HDNET\Calendarize\Utility\TranslateUtility::get('pluginName')); if (\TYPO3\CMS\Core\Utility\GeneralUtility::compat_version('7.0.0')) { $GLOBALS['TCA']['tt_content']['types']['list']['subtypes_addlist']['calendarize_calendar'] .= ',categories'; } // module icon $extensionIcon = \HDNET\Autoloader\Utility\IconUtility::getByExtensionKey('calendarize', true); if (\TYPO3\CMS\Core\Utility\GeneralUtility::compat_version('7.0')) { /** @var \TYPO3\CMS\Core\Imaging\IconRegistry $iconRegistry */ $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Imaging\\IconRegistry'); $iconRegistry->registerIcon('apps-pagetree-folder-contains-calendarize', 'TYPO3\\CMS\\Core\\Imaging\\IconProvider\\BitmapIconProvider', ['source' => $extensionIcon]); } else { $extensionRelPath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('calendarize'); \TYPO3\CMS\Backend\Sprite\SpriteManager::addTcaTypeIcon('pages', 'contains-calendar', str_replace('EXT:calendarize/', $extensionRelPath, $extensionIcon)); }
<?php use HDNET\Autoloader\Utility\IconUtility; $GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = array(0 => 'Calendarize', 1 => 'calendar', 2 => \TYPO3\CMS\Core\Utility\GeneralUtility::compat_version('7.0') ? 'apps-pagetree-folder-contains-calendarize' : IconUtility::getByExtensionKey('calendarize', true));
/** * Register the indexer configuration * * @param array $params * @param object $pObj */ function registerIndexerConfiguration(&$params, $pObj) { $newArray = array('Calendarize Indexer', 'calendarize', IconUtility::getByExtensionKey('calendarize')); $params['items'][] = $newArray; $GLOBALS['TCA']['tx_kesearch_indexerconfig']['columns']['sysfolder']['displayCond'] .= ',calendarize'; }