2016-05-24 15 views
0

Ich habe einen Backend-Benutzer mit Berechtigungen, mit nur einer Sprache zu arbeiten. Dieser Backend-Benutzer kann jedoch Inhalte in der Sprache "Alle Sprachen" erstellen oder wechseln.Backend-Benutzer, der auf eine Sprache beschränkt ist, sollte nicht in der Lage sein, Inhalte für alle Sprachen zu erstellen

Wie kann ich die Option "Alle Sprachen" für diesen Benutzer deaktivieren.

Oder wie kann ich es überhaupt deaktivieren? Wir brauchen es überhaupt nicht. so weit

Mein Versuch:

'sys_language_uid' => array(
    'exclude' => 1, 
    'label' => 'LLL:EXT:lang/locallang_general.xlf:LGL.language', 
    'config' => array(
     'type' => 'select', 
     'renderType' => 'selectSingle', 
     'special' => 'languages', 
     /* 'items' => array(
      array(
       'LLL:EXT:lang/locallang_general.xlf:LGL.allLanguages', 
       -1, 
       'flags-multiple' 
      ), 
     ),*/ 
     'default' => 0, 
    ) 
), 

In allen normalen tt_content Elemente der "alle" Sprache ist nicht mehr vorhanden:

ich die Konfiguration für sys_language_uid in typo3\sysext\frontend\Configuration\TCA\tt_content.php bearbeitet. Aber es gibt zwei Nachteile:

  • Es überschreibt eine Core-Datei und ist nicht update-sicher.
  • Es deaktiviert nur die "alle" Sprache in tt_content Elementen, nicht in anderen Elementen von Erweiterungen (z. B. Nachrichten).
+0

Ihr Backend-Benutzer muss eine Gruppe haben, also haben Sie die Berechtigung für diese Gruppe eingeschränkt? –

+0

ja und er hat nur die perminission für diese 1 sprache. Aber er kann trotzdem Inhalte für "Alle" erstellen. Ich kann in den Gruppeneinstellungen nichts finden. Vielleicht gibt es einen TypoScript-Weg? – nbar

Antwort

0

Ja, können Sie die Optionen aus TCEFORM Auswahlboxen mit Seite TSConfig entfernen:

TCEFORM.tt_content.sys_language_uid.removeItems = -1 

Sie müssen für jede Tabelle eine solche Konfiguration haben, betroffen:

TCEFORM.tx_news_domain_model_news.sys_language_uid.removeItems = -1 

Leider nein es gibt Haken Sie den Kern ein, um die Sprachliste einer Auswahlbox mit Sondertyp languages zu beeinflussen. Wenn Sie diese Low-Level wirklich brauchen, könnten Sie XCLASS \TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseSystemLanguageRow.php und entfernen Sie die [All languages] Sprache dort.