From b5b0acdc621aa8bd2a8e8b34d378502a6a6dbef3 Mon Sep 17 00:00:00 2001 From: Daniel Siepmann Date: Thu, 8 Mar 2018 20:20:24 +0100 Subject: [PATCH] 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 --- .../Domain/Index/TcaIndexer/TcaTableService.php | 1 - Documentation/source/changelog.rst | 1 + .../20180409-25-provide-sys-language-uid.rst | 16 ++++++++++++++++ .../Index/TcaIndexer/TcaTableServiceTest.php | 9 +++++++-- 4 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 Documentation/source/changelog/20180409-25-provide-sys-language-uid.rst diff --git a/Classes/Domain/Index/TcaIndexer/TcaTableService.php b/Classes/Domain/Index/TcaIndexer/TcaTableService.php index 19f6a55..9a3342c 100644 --- a/Classes/Domain/Index/TcaIndexer/TcaTableService.php +++ b/Classes/Domain/Index/TcaIndexer/TcaTableService.php @@ -231,7 +231,6 @@ class TcaTableService $this->tca['ctrl']['cruser_id'], $this->tca['ctrl']['fe_cruser_id'], $this->tca['ctrl']['fe_crgroup_id'], - $this->tca['ctrl']['languageField'], $this->tca['ctrl']['origUid'], ]; diff --git a/Documentation/source/changelog.rst b/Documentation/source/changelog.rst index a09d40d..4917e1b 100644 --- a/Documentation/source/changelog.rst +++ b/Documentation/source/changelog.rst @@ -5,6 +5,7 @@ Changelog :maxdepth: 1 :glob: + changelog/20180409-25-provide-sys-language-uid changelog/20180408-131-respect-page-cache-clear changelog/20180408-introduce-php70-type-hints changelog/20180406-120-facet-configuration diff --git a/Documentation/source/changelog/20180409-25-provide-sys-language-uid.rst b/Documentation/source/changelog/20180409-25-provide-sys-language-uid.rst new file mode 100644 index 0000000..3700ce0 --- /dev/null +++ b/Documentation/source/changelog/20180409-25-provide-sys-language-uid.rst @@ -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`. diff --git a/Tests/Unit/Domain/Index/TcaIndexer/TcaTableServiceTest.php b/Tests/Unit/Domain/Index/TcaIndexer/TcaTableServiceTest.php index edad84a..49ffabd 100644 --- a/Tests/Unit/Domain/Index/TcaIndexer/TcaTableServiceTest.php +++ b/Tests/Unit/Domain/Index/TcaIndexer/TcaTableServiceTest.php @@ -108,10 +108,14 @@ class TcaTableServiceTest extends AbstractUnitTestCase { $GLOBALS['TCA']['test_table'] = [ 'ctrl' => [ - 'languageField' => 'sys_language', + 'languageField' => 'sys_language_uid', ], 'columns' => [ - 'sys_language' => [], + 'sys_language_uid' => [ + 'config' => [ + 'type' => 'select', + ], + ], 't3ver_oid' => [], 'available_column' => [ 'config' => [ @@ -141,6 +145,7 @@ class TcaTableServiceTest extends AbstractUnitTestCase [ 'test_table.uid', 'test_table.pid', + 'test_table.sys_language_uid', 'test_table.available_column', ], $subject->getFields(),