Zum Inhalt springen

Feld "media" aus Seiteneigenschaften soll Fallback auf Standardsprache erhalten

Erstellt am 6. November 2017 · 2 Antworten · letzte Antwort am 25. Januar 2018

Tags: TCA, Seiten & Seitenbaum, TYPO3 8, Frage

seebold ·

Hallo liebe Mehrsprachler,

lange hatte ich nach einer Lösung gesucht, dass das media-Feld nicht in allen Sprachen gepflegt werden muss, wenn ohnehin immer die gleichen bilder dargestellt werden sollen. Ich habe dann herausgefunden, dass man im Install-Tool unter ['FE']['pageOverlayFields'] "media" entfernen musste. Danach gings.

Nun kommt die bahnbrechende Neuerung: <LINK https://docs.typo3.org/typo3cms/extensions/core/8.7/Changelog/8.7/Breaking-80149-RemoveGLOBALSTYPO3_CONF_VARSFEpageOverlayFields.html#id9> Breaking: #80149 - Remove $GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields']</LINK>

Toll, danke. Aber wie gehts jetzt? Jetzt werden wieder die Bilder in page media nicht angezeigt, solange in der Sprache keines hinterlegt ist. Es greift auch nicht die Einstellung fallback für sys_language_mode. Die Einstellung gilt wohl nur für tt_content.

In den verlinkten Changes steht der Hinweis:

Check the TCA of :sql:`pages_language_overlay` and remove l10n_mode for those fields that previously were not defined in $GLOBALS['TYPO3_CONF_VARS']['FE']['pageOverlayFields'] and thus should not be overlaid.
Nur:

1. finde ich im Modul Konfiguration keinen Eintrag l10n_mode für TCA ['pages_language_overlay']['columns']['media']

2. frage ich mich immer, wo ich diese Art der "kleinen Änderungen" an TCA einfügen muss. Muss ich dafür in der Tat eine eigene Extension erstellen, die ausschließlich ext_table.php zur Verfügung stellt?

Vielleicht kann mir ja einer helfen. Ich hatte gehofft, dass das Problem gelöst sei :´-(

Grüße
Martin

seebold ·

Und hier für alle:
eigene Extension :-( Dort dann in EXT:Configuration/TCA/Overrides/pages.php

<?php
$GLOBALS['TCA']['pages']['columns']['media']['config']['behaviour']['allowLanguageSynchronization'] = 1;
?>

Das ergibt in den Seiteneigenschaften der -- Achtung: -- Übersetzung eine zusätzliche Auswahl unterhalb des TCA-Feldes eine Eintrag zur Auswahl des Translations Behaviors die Optionen Custom values und Value of default language.

Grüße
Martin

Benjamecho ·

Hallo Martin,

ich habe mit TypoScript eine Lösung gefunden, mit der man ohne sonstige Anpassungen direkt an die bei der Hauptsprache hinterlegten Bilder kommt:

lib.test = CONTENT
lib.test{
	table = sys_file_reference
	select{
		pidInList = this
		where = tablenames='pages' AND fieldname='media'
		orderBy = sorting_foreign
		languageField = 0
		selectFields = uid_local
	}
	renderObj = FILES
	renderObj{
		files.stdWrap.field = uid_local
		renderObj = COA
		renderObj{
			# Ausgabe der einzelnen Bilder, z.B. als "IMG_RESOURCE":
			10 = IMG_RESOURCE
			10{
				file.import.data = file:current:publicUrl
				stdWrap.wrap = |<br />
			}
		}
	}
}

Grüße
Ben