Наложение значка TCA в серверную часть typo3 - PullRequest
0 голосов
/ 12 декабря 2018

Я работаю над расширением, в котором синхронизирую некоторые данные с другой базой данных, и я хотел показать это в бэкэнде, используя наложение значков TCA.К сожалению, я не мог узнать, как это сделать.Я думал об использовании 'ctrl' => 'typeicon_classes' (используя поле состояния моей таблицы для выбора значка), это работает по умолчанию (несинхронизированный элемент), но я не могу понять, как установить оверлей.Есть идеи, как это сделать?

Моя конфигурация TCA выглядит следующим образом:

'ctrl' => [
    ...
    'typeicon_column' => 'state',
    'typeicon_classes' => [
        'new' => 'mimetypes-x-content-login',
        'synced' => 'mimetypes-x-content-login-overlay-approved',
    ]
],

«Синхронизированная» часть не работает должным образом.Я бы хотел добавить наложение в конце значка или добавить его с пробелом, но оба не сработали.

Любая помощь приветствуется.

PS: Я действительноэто нужно просто в бэкэнде TYPO3, очевидное решение для внешнего интерфейса - это использование жидкости или PHP, но я не думаю, что это подходит для бэкэнда TYPO3.

1 Ответ

0 голосов
/ 12 декабря 2018

Вам необходимо зарегистрировать ваши файлы значков.Если ваши файлы значков имеют имена content_login.svg и content_login_overlay_approved.svg , расположенные в каталоге / Resources / Public / Icons / , вы можете зарегистрировать их в ext_localconf.php следующим образом:

if (TYPO3_MODE === 'BE') {
    $icons = [
        'mimetypes-x-content-login' => 'content_login.svg',
        'mimetypes-x-content-login-overlay-approved' => 'content_login_overlay_approved.svg',
    ];
    $iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class);
    foreach ($icons as $identifier => $path) {
        $iconRegistry->registerIcon(
            $identifier,
            \TYPO3\CMS\Core\Imaging\IconProvider\SvgIconProvider::class,
            ['source' => 'EXT:YOUREXTENSIONNANME/Resources/Public/Icons/' . $path]
        );
    }
}

Адаптировать Ваше имя

...