[TYPO3-project-formidable] renderlet TinyMCE: use page language instead of one fixed (configurated) language

Jerome Schneider typo3dev at ameos.com
Mon Mar 2 13:50:17 CET 2009


Hi Hauke,

I see your point. To make of this a more generic feature, I implemented 
the TS: notation. Value prefixed by TS: are evaluated by Formidable as 
pointers in the typoscript template.

So, in your case, you might define:

<renderlet:TINYMCE name="reviewText" label="LLL:reviewForm.review">
    <config
        width="500"
        height="200"
        language="TS:config.htmlTag_langKey"
    />
</renderlet:TINYMCE>


The TS:... notation is available on (almost) every property you might 
define in your XML.

So that:

<renderlet:TEXT name="mytxt" label="TS:config.mytxt.label" />

would work.


I implemented this and it will be available in the upcoming revision 
(will be 2.0.323)

Best regards,
Jerome


Hauke Hain a écrit :
> Hello,
> 
> because I do not know if it is possible to make conditions within the 
> XML, but wanted the language of the editor the same as the page 
> language, I made a few adjustments.
> 
> In your page TypoScript template you must have some code like this:
> [globalVar = GP:L=0]
>  config {
>  sys_language_uid = 0
>  language = en
>  locale_all = en_GB
>  htmlTag_langKey = en
>  }
>  plugin.meta.language = en
> 
>  [global] [globalVar = GP:L=1]
>  config {
>  sys_language_uid = 1
>  language = de
>  locale_all = de_DE
>  htmlTag_langKey = de
>  }
>  plugin.meta.language = de
>  [global]
> 
> Important is, that the language is set to the same code as TinyMCE likes 
> it.
> 
> 
> In your XML just set the language to siteSetting:
> <renderlet:TINYMCE name="reviewText" label="LLL:reviewForm.review">
>    <config
>        width="500"
>        height="200"
>        language="siteSetting"
>      />
>  </renderlet:TINYMCE>
> 
> 
> Now add to your 
> ameos_formidable\api\base\rdt_tinymce\api\class.tx_rdttinymce.php
> the following lines before
>  if(is_array($aAddConfig = $this->_navConf("/addconfig")) && 
> $this->oForm->isRunneable($aAddConfig)) {
> // etc...
> }
> 
> 
> add these:
>  if(array_key_exists("language", $aConfig)) {
>      if ($aConfig["language"] = 'siteSetting') {
>        $aConfig["language"] = 
> ($GLOBALS['TSFE']->tmpl->setup['config.']['language']);
>      }
>  }
> 
> 
> 
> 
> If you change this line
>        $aConfig["language"] = 
> ($GLOBALS['TSFE']->tmpl->setup['config.']['language']);
> to
>        $aConfig["language"] = 
> ($GLOBALS['TSFE']->tmpl->setup['config.'][htmlTag_langKey]);
> You read the htmlTag_langKey set in your TypoScript Template instead of 
> language also set in your TS Template.
> 
> 
> I dunno, I'd like to see this functionality in the next formidable 
> version. :)
> 
> One hint:
> Of course you have to put all your language packs in the root folder of 
> TinyMCE. If TinyMCE doesn't find a translation something like 
> "{desc_to_translate}" will be shown.
> 
> 
> Hope it's useful!
> 
> Regards,
> Hauke


More information about the TYPO3-project-formidable mailing list