Skip to content
Snippets Groups Projects
Commit c087a657 authored by Daniel Goerz's avatar Daniel Goerz Committed by Stefan Neufeind
Browse files

[BUGFIX] Respect localized placeholders in TCA again

Change-Id: I3678ff847d43303086610f6d24ba494c0f285d29
Resolves: #70821
Resolves: #70833
Releases: master
Reviewed-on: https://review.typo3.org/44143


Reviewed-by: default avatarMorton Jonuschat <m.jonuschat@mojocode.de>
Tested-by: default avatarMorton Jonuschat <m.jonuschat@mojocode.de>
Reviewed-by: default avatarStefan Neufeind <typo3.neufeind@speedpartner.de>
Tested-by: default avatarStefan Neufeind <typo3.neufeind@speedpartner.de>
parent ae516465
Branches
Tags
No related merge requests found
......@@ -57,9 +57,15 @@ class TcaInputPlaceholders extends AbstractItemProvider implements FormDataProvi
$result['processedTca']['columns'][$fieldName]['config']['placeholder'] = $this->getPlaceholderValue($fieldNameArray, $result);
}
// Resolve placeholders from language files
if (StringUtility::beginsWith($fieldConfig['config']['placeholder'], 'LLL:')) {
$result['processedTca']['columns'][$fieldName]['config']['placeholder'] = $this->getLanguageService()->sl($fieldConfig['config']['placeholder']);
}
// Remove empty placeholders
if (empty($fieldConfig['config']['placeholder'])) {
unset($result['processedTca']['columns'][$fieldName]['config']['placeholder']);
continue;
}
}
......
......@@ -19,6 +19,7 @@ use TYPO3\CMS\Backend\Form\FormDataGroup\TcaInputPlaceholderRecord;
use TYPO3\CMS\Backend\Form\FormDataProvider\TcaInputPlaceholders;
use TYPO3\CMS\Core\Tests\UnitTestCase;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Lang\LanguageService;
/**
* Test case
......@@ -403,4 +404,36 @@ class TcaInputPlaceholdersTest extends UnitTestCase
$this->assertSame($expected, $this->subject->addData($input));
}
/**
* @test
*/
public function addDataCallsLanguageServiceForLocalizedPlaceholders()
{
$labelString = 'LLL:EXT:some_ext/Resources/Private/Language/locallang.xlf:my_placeholder';
$localizedString = 'My Placeholder';
$input = [
'tableName' => 'aTable',
'databaseRow' => [],
'processedTca' => [
'columns' => [
'aField' => [
'config' => [
'type' => 'input',
'placeholder' => $labelString,
]
]
],
],
];
$expected = $input;
$expected['processedTca']['columns']['aField']['config']['placeholder'] = $localizedString;
/** @var LanguageService|ObjectProphecy $languageService */
$languageService = $this->prophesize(LanguageService::class);
$GLOBALS['LANG'] = $languageService->reveal();
$languageService->sL($labelString)->shouldBeCalled()->willReturn($localizedString);
$this->assertSame($expected, $this->subject->addData($input));
}
}
......@@ -553,6 +553,11 @@ return array(
\TYPO3\CMS\Backend\Form\FormDataProvider\TcaInlineConfiguration::class,
),
),
\TYPO3\CMS\Backend\Form\FormDataProvider\TcaInputPlaceholders::class => array(
'depends' => array(
\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseRowDefaultValues::class,
)
)
),
'tcaInputPlaceholderRecord' => array(
\TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseEditRow::class => array(),
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment