Zum Inhalt springen

RTE in FrontEnd Plugin nutzen

Erstellt am 9. April 2014 · 3 Antworten · letzte Antwort am 24. Juni 2014

Tags: TYPO3 6.x, Frage

ironpfu ·

Hallo zusammen,

ich schreibe gerade eine kleine Extension und möchte den RTE im Frontend nutzen.
Genau nach Anleitung :
http://www.sk-typo3.de/RTE-im-Frontend-benutzen.285.0.html
RTE funktioniert und zeigt auch richtig formatiert die Daten aus der DB an, welche ich durch Änderung der folgender Zeilen erreicht habe:

$res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*','fe_users', 'uid='.$GLOBALS['TSFE']->fe_user->user['uid']);
			while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
$this->PA['itemFormElValue'] = $row['tx_oebs_description'];
}

Nun möchte ich die Änderungen wieder in die DB zurückspielen:

if($this->RTEObj->isAvailable()) {
				 //$pageTSConfig = $GLOBALS['TSFE']->getPagesTSconfig();
				 //$RTEsetup = $pageTSConfig['RTE.'];
				 $this->thisConfig = $RTEsetup['default.'];
				 $this->thisConfig = $this->thisConfig['FE.'];
				 $dataArray['tx_oebs_description'] = $this->RTEObj->transformContent(
							 'db',
							 $dataArray['tx_oebs_description'],
							 'fe_users',
							 'tx_oebs_description',
							 $dataArray,
							 $this->specConf,
							 $this->thisConfig,
							 '',
							 $this->thePidValue
						 );
			}

Das Problem ist, dass der Array "$dataArray" leer ist...
Hat jemand einen Tipp, ich steh so kurz vor der Lösung und seh den Wald vor lauter Bäumen nicht.
Danke

toifel ·

Du versuchst $dataArray['tx_oebs_description'] = $this->RTEObj->transformContent() zu setzen, übergibst aber gleichzeitig $dataArray['tx_oebs_description'] als 2. Variable an die Funktion.

ironpfu ·

Danke für die schnelle Antwort.
Leider blicke ich noch immer nicht ganz durch.
Genau so steht es doch in der DOCU und wird auch von der EXT srguestbook verwendet:

$saveData[$this->strEntryField] = $this->RTEObj->transformContent('db', $saveData[$this->strEntryField], $invokingObject->strEntryTable, $this->strEntryField, $saveData, $this->specConf, $this->thisConfig, '', $this->thePidValue);
				// Prevent sending plain text mails
ironpfu · · Beste Antwort

Falls es jemanden hilft:

// Safe RTE Data
		if(isset($this->piVars['submit_button']))
		{
                $pageTSConfig = $GLOBALS['TSFE']->getPagesTSconfig();
                $RTEsetup = $pageTSConfig['RTE.'];
                $this->thisConfig = $RTEsetup['default.'];
                $this->thisConfig = $this->thisConfig['FE.'];
                $rte = t3lib_div::_GP('tx_oebs_pi1');
				
				$dataArray['tx_oebs_description'] = stripslashes($rte['tx_oebs_description']);
                $dataArray[$this->field] = $this->RTEObj->transformContent(
					'db',
					$dataArray['tx_oebs_description'], 
					'fe_users', 
					'tx_oebs_description', 
					$dataArray, 
					$this->specConf, 
					$this->thisConfig, 
					'', 
					$this->thePidValue
				);
            
				//$dataArray['tx_oebs_description'] = str_replace("\r\n"," ",$dataArray['tx_oebs_description']);
				$update = $GLOBALS['TYPO3_DB']->exec_UPDATEquery('fe_users', 'uid = '.$GLOBALS['TSFE']->fe_user->user['uid'],$dataArray);
				
				header("Refresh:0"); 
				header("Location: index.php?id=".$this->conf['oebs_pid']."&tx_oebs_pi2[showUid]=".$GLOBALS['TSFE']->fe_user->user['uid']);
		}