[TYPO3-german] Eigene Extension / Caching Problem

Chris Bernhard chris at dreamride.de
Wed Jul 21 10:19:12 CEST 2010


Hi Stefan,

ich habe Deinen Vorschlag auch schon in die Tat umgesetzt und das Ganze
sieht dann wie folgt aus, leider kommen die Variablen aus dem Formular
immer noch nicht an. Irgendwas seltsames passiert hier, wahrscheinlich 
hab ichs einfach nur falsch gemacht. Siehe:

/**
	 * The main method of the PlugIn
	 *
	 * @param	string		$content: The PlugIn content
	 * @param	array		$conf: The PlugIn configuration
	 * @return	The content that is displayed on the website
	 */
	function main($content, $conf) {
		
     $this->conf = $conf;
		$this->pi_setPiVarDefaults();
		$this->pi_loadLL();
					
		$this->init(); // call the flexform plugin configuration	

     $ftpuser = $this->piVars['ftpuser'];
     $ftppass = $this->piVars['ftppass'];

     if (isset($ftpuser)) {
     $this->ftpConnect($ftpuser, $ftppass);
     }
       else {
       $content .= $this->renderLogin($this->lConf['contentarea']);
       }
	
		return $this->pi_wrapInBaseClass($content);
	}

	/**
	 * The renderLogin function
	 *
	 * @param	string		$contentarea: The place in which the plugin is displayed
	 * @return	The Loginform
	 */
   function renderLogin($contentarea) {

     switch ($contentarea) {
       // if plugin is in contentarea content
       case 'content':
         $loginbox .= '
         <div class="loginbox">

         <form action="' . $this->pi_getPageLink($GLOBALS['TSFE']->id) . 
'" class="login" method="post">
         <div>
         <div class="inputrow"><label 
for="ftpuser"><span>Benutzerkennung</span><input type="text" 
id="ftpuser" name="tx_ftpconnect_pi1[ftpuser]" value="' . 
$this->piVars['ftpuser'] . '" class="text" /></label></div>
         <div class="inputrow"><label 
for="ftppass"><span>Passwort</span><input type="text" id="ftppass" 
name="tx_ftpconnect_pi1[ftppass]" value="' . $this->piVars['ftppass'] . 
'"  class="text" /></label></div>
         <div class="spacer"></div>
</a></span>
         <button type="submit" name="start" 
class="login"><span>Login</span></button>
         </div>
         </form>
         </div>
         ';
       break;
     }

   return $loginbox;
   }

Vielen Dank für Deine Antwort und allerbeste Grüße vom Chris

Am 21.07.2010 10:03, schrieb Stefan Frömken:
> Hi Chris,
>
> wen Du anfängst immer mehr Extension zu schreiben, dann solltest Du
> vermehrt die Funktionen von TYPO3 verwenden.
>
> Dazu gehört, dass du im Formular Deinen Feldern folgende Namen gibst:
>
> <input id="ftpuser" name="tx_myextension_pi1[ftpuser]" value="" />
> <input id="ftppass" name="tx_myextension_pi1[ftppass]" value="" />
>
> im PHP Code greifst du dann mit
>
> $ftpuser = $this->piVars['ftpuser'];
> $ftppass = $this->piVars['ftppass'];
>
> darauf zu.
>
> Das wäre zumindest der korrekte Weg und ich hoffe dass sich dadurch auch
> Dein Cachingproblem auflöst.
>
> Stefan
>
> Chris Bernhard schrieb:
>> Hi zusammen,
>>
>> habe jetzt schon ein paar kleien Extensions programmiert
>> und bin bislang von folgendem Problem verschont geblieben,
>> das mich beinahe in den Wahnsinn treibt.
>>
>> Zwar rufe ich in der Main Klasse der Extension folgendes auf:
>>
>> $this->conf = $conf;
>> $this->pi_setPiVarDefaults();
>> $this->pi_loadLL();
>> $this->init(); // call the flexform plugin configuration
>>
>> //var_dump($_POST);
>>
>> $ftpuser = t3lib_div::_POST('ftpuser');
>> $ftppass = t3lib_div::_POST('ftppass');
>>
>> wobei ftpuser und ftppass einfach beim Abschicken
>> des Formulars leer bleiben. Die Variablen im Form
>> sind haargenau die selben.
>>
>> Schalte ich das Caching der kompletten Seite aus, funktionierts
>> auf einmal, sprich, die _POST Variablen kommen entsprechend bei mir
>> raus.
>>
>> Ansonsten ergibt ja ein var_dump($_POST); auch die richtigen Werte.
>> Nur t3lib_div::_POST('ftpuser'); scheint überhaupt kein Ergebnis
>> zurückzuliefern.
>>
>> In ner anderen Extension von mir funktioniert das einwandfrei, deswegen
>> auch meine momentane Ratlosigkeit.
>>
>> Hat vielleicht von Euch jemand ne Idee, was nun hier anderst läuft?
>>
>> Vielen Dank und allerbeste Grüße vom Chris



More information about the TYPO3-german mailing list