26. 11. 2017, 14:05

Hey Leute.

Also ich glaub die Anforderung ist logisch...

Ich möchte im Backend croppen. Das ist ja sehr einfach, und funktioniert in der Umsetzung auch.
Aber ich schaffe es nicht mir für ein spezielles Feld die Verhältnisse zu verändern.

Also während zB das Feld "Plakat" eine zwingende Ratio von 5:7 braucht, braucht das Feld "Logo" eine Ratio von 1:1.

Ich kann global überschreiben, aber damit hab ich da ja keine Lösung für ein einzelnes Feld.

Das ist mein Ansatz:
[code]'portrait' => [
'exclude' => true,
'label' => 'LLL:EXT:mp_datenbank/Resources/Private/Language/locallang_db.xlf:tx_mpdatenbank_domain_model_kuenstler.portrait',
'config' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::getFileFieldTCAConfig(
'portrait',
[
'maxitems' => 1,
'foreign_match_fields' => [
'fieldname' => 'portrait',
'tablenames' => 'tx_mpdatenbank_domain_model_kuenstler',
'table_local' => 'sys_file',
],
'foreign_types' => [
'0' => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_TEXT => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_AUDIO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_VIDEO => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
],
\TYPO3\CMS\Core\Resource\File::FILETYPE_APPLICATION => [
'showitem' => '
--palette--;LLL:EXT:lang/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;newsPalette,
--palette--;;imageoverlayPalette,
--palette--;;filePalette'
]
],
'overrideChildTca' => [
'types' => [
\TYPO3\CMS\Core\Resource\File::FILETYPE_IMAGE => [
'showitem' => '
--palette--;LLL:EXT:lang/Resources/Private/Language/locallang_tca.xlf:sys_file_reference.imageoverlayPalette;imageoverlayPalette,
--palette--;;filePalette'
],
],
],
],
$GLOBALS['TYPO3_CONF_VARS']['GFX']['imagefile_ext'],
$GLOBALS['TCA']['tt_content']['types']['extkey_element']['columnsOverrides']['image']['config']['overrideChildTca']['columns']['crop']['config']['cropVariants'] = [
'title' => 'LLL:EXT:lang/Resources/Private/Language/locallang_wizards.xlf:imwizard.crop_variant.default',
'default' => [
'allowedAspectRatios' => [
'1:1' => [
'title' => '1 : 1',
'value' => 1.0
],
],
'selectedRatio' => '1:1',
'cropArea' => [
'x' => 0.0,
'y' => 0.0,
'width' => 1.0,
'height' => 1.0,
],
],
]
)
],
[/code]

Aber da kommt es zu einem Fehler:
#1476107295: PHP Warning: strtolower() expects parameter 1 to be string, array given in .../typo3/sysext/core/Classes/Resource/Filter/FileExtensionFilter.php line 166

Hat da jemand eine Idee woran das liegt oder weiß jemand wie ich das wirklich mache?

lg M.