Я хочу добавить несколько пользовательских значков для папок хранения в TYPO3 LTS 9.5.13
Все пути к файлам относятся к root вашего расширения / typo3conf / ext / my_extension /. Добавлен следующий код в ext_localconf. php
if (TYPO3_MODE === 'BE') {
/**
* register icons
* Icon for plugin selection in content element will be loaded automatically
* if to be found in /Resources/Public/Icons/Extension.svg
*/
$ext = 'ipm_tpl_site_template';
$icons = [
$ext . '-info-circle' => 'info-circle-solid.svg',
$ext . '-exclamation-circle' => 'exclamation-circle-solid.svg',
];
$iconRegistry = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(\TYPO3\CMS\Core\Imaging\IconRegistry::class);
foreach ($icons AS $id => $filename) {
$iconRegistry->registerIcon(
$id,
$iconRegistry->detectIconProvider($filename),
['source' => 'EXT:' . $ext . '/Resources/Public/Icons/' . $filename]
);
}
}
И этот код в /Configuration/TCA/Overrides/pages.php
defined('TYPO3_MODE') || die();
$ext = 'my_extension';
$iconRef = $ext . '-info-circle';
$iconRef2 = $ext . '-exclamation-circle';
$addToModuleSelection = true;
foreach ($GLOBALS['TCA']['pages']['columns']['module']['config']['items'] as $item) {
if ($item['1'] == $ext) {
$addToModuleSelection = false;
break;
}
}
if ($addToModuleSelection) {
$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-' . $ext] = $iconRef;
$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
0 => 'LLL:EXT:' . $ext . '/Resources/Private/Language/locallang_backend.xlf:contains_notes',
1 => $ext,
2 => $iconRef
];
$GLOBALS['TCA']['pages']['ctrl']['typeicon_classes']['contains-' . $ext] = $iconRef2;
$GLOBALS['TCA']['pages']['columns']['module']['config']['items'][] = [
0 => 'LLL:EXT:' . $ext . '/Resources/Private/Language/locallang_backend.xlf:contains_instructions',
1 => $ext,
2 => $iconRef2
];
}
И это в locallang_backend. xlf
<trans-unit id="contains_notes">
<source>IPM: This page contains notes</source>
</trans-unit>
<trans-unit id="contains_instructions">
<source>IPM: This page contains instructions</source>
</trans-unit>
Значок "-exclamation-circle" виден, как вы можете видеть на скриншоте. Несколько пользовательских значков для папки хранения в TYPO3 - вкладка "Использование в качестве контейнера"
Но "-info-circle" не отображается. Раскрывающееся меню предоставляет четыре параметра: «Пустой», «Веб-сайт FE_Users, IPM - эта страница содержит примечания, IPM - эта страница содержит конструкции». Но каждый раз, когда я использую одно из двух моих условий, оно автоматически переключается на «IPM - эта страница содержит конструкции». Можно ли добавить более одного значка? Имя расширения в [] одинаково для обоих значков. Может ли это быть проблемой?
Версия: LTS 9.5.13 PHP: 7.2.22 Сервер: Apache