I will das in der Konfiguration zum Plugin nur die Sprache des Benutzers angezeigt wird!

  • Stoneage Stoneage
    Jedi-General
    0 x
    1143 Beiträge
    0 Hilfreiche Beiträge
    07. 06. 2008, 16:31

    Hallo liebes Forum,

    ich habe ein Plugin mit einer Flexform-Konfigurations-Datei, die u.a.auch einen Seitenbaum anzeigt. Wenn ich nun eine neue Sprache der Webseite hinzufüge wird die Flexform-Konfigurations-Datei auch für die andere Sprache angezeigt. Kann man Typo3 nicht so einstellen, dass nur die Sprache des Benutzers angezeigt wird? Ich habe schon ziemlich lange im Code nachgeschaut und ich bin sicher, dass das irgendwie geht. Aber mir fällt auf die schnelle zu diesem Thema leider nichts mehr ein. Hat das schon jemand gelöst, und möchte die Lösung mit mir teilen?

    Vielen Dank im vorraus!

    Mit freundlichen Grüßen,

    Chi Hoang


  • Stoneage Stoneage
    Jedi-General
    0 x
    1143 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2008, 10:49

    Du meinst sicher die Sprachen, die der Benutzer in den Access-Einstellungen hat, ist das korrekt?

    ja.

    Oder willst Du die Sprachen eingrenzen? Dazu ist ja der User-Access da.

    Ja.

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2008, 13:50

    und genau das funktioniert bei mir ohne Probleme.

    Also - ich schränke den Benutzer z.B. auf default und französisch ein, dann bekommt er in der Flexform auch nur diese beiden Sprachen angezeigt.

  • Stoneage Stoneage
    Jedi-General
    0 x
    1143 Beiträge
    0 Hilfreiche Beiträge
    05. 09. 2008, 14:07

    Hallo Steffen,

    hier ist nun ein Patch, der das Problem lösen sollte. Allerdings funktioniert es nur, wenn in den Meta-Daten folgendes eingetragen wird.

    [HTML]<meta>
    <langDisable>1</langDisable>
    <langChildren>1</langChildren>
    <meta>
    [/HTML]

    Es werden auch korrekt die Länderflaggen angezeigt, und die Flexform Configuration Einstellung zugeordnet.

    Mfg,

    M.

    [HTML]--- ../../typo3_src-4.2.1.orig/typo3_src-4.2.1/t3lib/class.t3lib_tceforms.php 2008-06-11 10:14:58.000000000 +0200
    +++ class.t3lib_tceforms.php 2008-09-05 13:57:40.000000000 +0200
    @@ -2255,6 +2255,7 @@
    * @return string The HTML code for the TCEform field
    */
    function getSingleField_typeFlex($table,$field,$row,&$PA) {
    + global $BE_USER;

    // Data Structure:
    $dataStructArray = t3lib_BEfunc::getFlexFormDS($PA['fieldConf']['config'],$row,$table);
    @@ -2310,7 +2311,7 @@

    $PA['_noEditDEF'] = FALSE;
    if ($langChildren || $langDisabled) {
    - $rotateLang = array('DEF');
    + $rotateLang = array(strtoupper($BE_USER->uc['lang']));
    } else {
    if (!in_array('DEF',$editData['meta']['currentLangId'])) {
    array_unshift($editData['meta']['currentLangId'],'DEF');
    @@ -2338,7 +2339,7 @@
    // Render sheet:
    if (is_array($dataStruct['ROOT']) && is_array($dataStruct['ROOT']['el'])) {
    $lang = 'l'.$lKey; // Default language, other options are "lUK" or whatever country code (independant of system!!!)
    - $PA['_valLang'] = $langChildren && !$langDisabled ? $editData['meta']['currentLangId'] : 'DEF'; // Default language, other options are "lUK" or whatever country c
    ode (independant of system!!!)
    + $PA['_valLang'] = $langChildren && !$langDisabled ? $editData['meta']['currentLangId'] : array(strtoupper($BE_USER->uc['lang'])); // Default language, other
    options are "lUK" or whatever country code (independant of system!!!)
    $PA['_lang'] = $lang;
    $PA['_cshFile'] = ((isset($dataStruct['ROOT']['TCEforms']) && isset($dataStruct['ROOT']['TCEforms']['cshFile'])) ? $dataStruct['ROOT']['TCEforms']['cshFile'] : ''
    );

    [/HTMl]