TASK: Provide sys_language_uid

Fetch sys_language_uid from database.
Until now we did not fetch system related fields from database. As there
is now a RemoveProcessor, integrators are able to remove fields.
Also providing this field enables basic multi language support.

Relates: #25
This commit is contained in:
Daniel Siepmann 2018-03-08 20:20:24 +01:00
parent 26b8849104
commit b5b0acdc62
Signed by: Daniel Siepmann
GPG key ID: 33D6629915560EF4
4 changed files with 24 additions and 3 deletions

View file

@ -231,7 +231,6 @@ class TcaTableService
$this->tca['ctrl']['cruser_id'], $this->tca['ctrl']['cruser_id'],
$this->tca['ctrl']['fe_cruser_id'], $this->tca['ctrl']['fe_cruser_id'],
$this->tca['ctrl']['fe_crgroup_id'], $this->tca['ctrl']['fe_crgroup_id'],
$this->tca['ctrl']['languageField'],
$this->tca['ctrl']['origUid'], $this->tca['ctrl']['origUid'],
]; ];

View file

@ -5,6 +5,7 @@ Changelog
:maxdepth: 1 :maxdepth: 1
:glob: :glob:
changelog/20180409-25-provide-sys-language-uid
changelog/20180408-131-respect-page-cache-clear changelog/20180408-131-respect-page-cache-clear
changelog/20180408-introduce-php70-type-hints changelog/20180408-introduce-php70-type-hints
changelog/20180406-120-facet-configuration changelog/20180406-120-facet-configuration

View file

@ -0,0 +1,16 @@
FEATURE 25 "Respect multiple languages" - Provide sys_language_uid
==================================================================
Previously we did not fetch ``sys_language_uid`` field from database. This prevented everyone from
working with multiple languages.
By not removing the field it gets indexed and provides a very basic way of implementing multiple
languages.
At least it's now possible to filter search results by current language for now. Still the records
are not "valid" as we do not add overlays for now.
This is a first step into full multi language support.
Martin Hummer already has a basic proof of concept, based on :ref:`concepts_dataprocessing` working,
depending on ``sys_language_uid``.
See :issue:`25`.

View file

@ -108,10 +108,14 @@ class TcaTableServiceTest extends AbstractUnitTestCase
{ {
$GLOBALS['TCA']['test_table'] = [ $GLOBALS['TCA']['test_table'] = [
'ctrl' => [ 'ctrl' => [
'languageField' => 'sys_language', 'languageField' => 'sys_language_uid',
], ],
'columns' => [ 'columns' => [
'sys_language' => [], 'sys_language_uid' => [
'config' => [
'type' => 'select',
],
],
't3ver_oid' => [], 't3ver_oid' => [],
'available_column' => [ 'available_column' => [
'config' => [ 'config' => [
@ -141,6 +145,7 @@ class TcaTableServiceTest extends AbstractUnitTestCase
[ [
'test_table.uid', 'test_table.uid',
'test_table.pid', 'test_table.pid',
'test_table.sys_language_uid',
'test_table.available_column', 'test_table.available_column',
], ],
$subject->getFields(), $subject->getFields(),