[TYPO3-german] Typoscript Frage cObj in Wert wandeln

Christian Hernmarck linux at lists.hernmarck.ch
Mon Aug 16 15:28:41 CEST 2010


Hab mir nun anders geholfen - da man offenbar gar nicht auf die
Formularfelder im TYPO3Script zugreifen kann...

nun habe ich fe_adminLin erweitert, bei den parseValues

      case 'spez_gender':
        $_prm = split('\|', $cmdParts[1]);
        switch ($this->dataArr[$theField]) {
          case 'm':
            $this->dataArr[$_prm[0]] = $_prm[1];
          break;
          case 'f':
            $this->dataArr[$_prm[0]] = $_prm[2];
          break;
          default:
            $this->dataArr[$_prm[0]] = $_prm[3];
        }
      break;

und im TS:
 parseValues.gender = spez_gender[room|Herr|Frau|]
kann ich dann auch sprachabhängig machen...

mal sehen...

Gruss Ch


Christian Hernmarck schrieb am Montag, 16. August 2010 08.24 im
Beitrag <mailman.1.1281939847.15274.typo3-german at lists.typo3.org>:

> Hallo nochmals
> 
> es geht um diese Funktion in fe_adminLib.inc:
> 
> function overrideValues()
> {
>  // Addition of overriding values
>  if (is_array($this->conf[$this->cmdKey.'.']['overrideValues.']))
>  {
>   reset($this->conf[$this->cmdKey.'.']['overrideValues.']);
>   while(list($theField,$theValue)=
>    each($this->conf[$this->cmdKey.'.']['overrideValues.']))
>   {
>    $this->dataArr[$theField] = $theValue;
>   }
>  }
> }
> 
> sie kümmert sich um diese Konfig:
> create.overrideValues.module_sys_dmail_html = 1
> oder
> edit.overrideValues.module_sys_dmail_html = 1
> 
> (es geht um direct_mail_subscription)...
> 
> wenn ich nun aber etwas komplexeres mit den overrideValues machen
> möchte wie ein stdWrap oder cObj dann klappt das nicht - offenbar
> wird das was nach dem = steht "as-is" in die DB geschrieben...
> 
> Wie bekomm ich nun sowas hin:
>  tempg = CASE
>  tempg {
>   key.field = gender
>   default = TEXT
>   default.value = (leer)
>   m = TEXT
>   m.value = Herr
>   f = TEXT
>   f.value = Frau
>  }
>  edit.overrideValues.room < .tempg
> 
> ?
> 
> ich hab in der fe_adminLib schon etwas versucht:
> statt
>  $this->dataArr[$theField] = $theValue;
> das da:
>  $this->dataArr[$theField] = $this->cObj->cObjGet($theValue);
> 
> was auch klappt - bis auf den Umstand, dass die DB-Daten nicht
> aufgelöst werden (field)...
> 
> Gibt es in TypoScript die Möglichkeit, ein cObj oder stdWrap
> aufzulösen und den Wert weiterzuverwenden, zB. den dann an
> overrideValues zu übergeben (als Zeichenkette).
> 
> Vielleicht kann mir jemand auf die Sprünge helfen...
> Vielen Dank
> 
> Christian



More information about the TYPO3-german mailing list