Я работаю над расширением списка файлов и хочу знать, могу ли я устанавливать дополнительные метаданные только для определенных типов файлов, таких как pdf или для всех файлов в определенной подпапке.Можно ли отображать пользовательские sys_file_metadata только для определенных типов файлов или для файлов внутри определенной подпапки в TYPO3?
До сих пор я продлил sys_file_metadata со следующей установкой:
ext_tables.sql
CREATE TABLE sys_file_metadata (
tags int(11) unsigned DEFAULT '0' NOT NULL,
type int(11) unsigned DEFAULT '0'
);
CREATE TABLE sys_file_metadata_tags_mm (
uid_local int(11) unsigned DEFAULT '0' NOT NULL,
uid_foreign int(11) unsigned DEFAULT '0' NOT NULL,
sorting int(11) unsigned DEFAULT '0' NOT NULL,
sorting_foreign int(11) unsigned DEFAULT '0' NOT NULL,
KEY uid_local (uid_local),
KEY uid_foreign (uid_foreign)
);
sys_file_metadata.php
<?php
defined('TYPO3_MODE') || die();
$l1 = 'LLL:EXT:file_portal/Resources/Private/Language/locallang_db.xlf:';
$additionalColumns = [
'tags' => [
'exclude' => 1,
'label' => $l1 . 'tx_fileportal_domain_model_file.tags',
'config' => [
'type' => 'select',
'renderType' => 'selectMultipleSideBySide',
'foreign_table' => 'tx_fileportal_domain_model_tag',
'MM' => 'tx_fileportal_fileallocation_tag_mm',
'size' => 10,
'autoSizeMax' => 30,
'maxitems' => 9999,
'multiple' => 0,
'wizards' => [
'_PADDING' => 1,
'_VERTICAL' => 1,
'edit' => [
'module' => [
'name' => 'wizard_edit',
],
'type' => 'popup',
'title' => 'Edit',
'icon' => 'edit2.gif',
'popup_onlyOpenIfSelected' => 1,
'JSopenParams' => 'height=350,width=580,status=0,menubar=0,scrollbars=1',
],
'add' => [
'module' => [
'name' => 'wizard_add',
],
'type' => 'script',
'title' => 'Create new',
'icon' => 'add.gif',
'params' => [
'table' => 'tx_fileportal_domain_model_tag',
'pid' => '###CURRENT_PID###',
'setValue' => 'prepend'
],
],
],
],
],
'type' => [
'exclude' => 1,
'label' => $l1 . 'tx_fileportal_domain_model_file.type',
'config' => [
'type' => 'select',
'renderType' => 'selectSingle',
'foreign_table' => 'tx_fileportal_domain_model_filetype',
'minitems' => 0,
'maxitems' => 1,
'items' => [
['Bitte wählen', 0]
],
'appearance' => [
'collapseAll' => 0,
'levelLinksPosition' => 'top',
'showSynchronizationLink' => 1,
'showPossibleLocalizationRecords' => 1,
'showAllLocalizationLink' => 1
]
]
]
];
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('sys_file_metadata', $additionalColumns);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('sys_file_metadata', 'tags, type');
return $GLOBALS['TCA']['sys_file_metadata'];
Это работает прекрасно, и я может добавить некоторые пользовательские теги и пользовательский более специфичный тип для моих файлов, но теперь эти параметры доступны для всех моих файлов. Есть ли способ отображать эти параметры только для определенных типов файлов или для файлов в определенной подпапке, возможно, с условиями отображения?
Ок, я добавил некоторые условия показа сейчас и это выглядит гораздо лучше, но как я могу добавить «requestUpdate "список метаданных файла tca? – Fox