[TYPO3] RealUrl + MailformPlus-multipage forms

John D. Shull clfcwebmaster at clfconline.com
Tue Dec 4 15:26:37 CET 2007


OK, kids.  I found a solution on typo3.net:

http://www.typo3.net/index.php?id=13&action=list_post&tid=67816

Of course, I had to read the interpretation:

http://translate.google.com/translate?hl=en&sl=de&u=http://www.typo3.net/index.php%3Fid%3D13%26action%3Dlist_post%26tid%3D67816&sa=X&oi=translate&resnum=1&ct=result&prev=/search%3Fq%3Dtypo3%2Bmultipage%2Bform%26start%3D20%26hl%3Den%26client%3Dsafari%26rls%3Den%26sa%3DN

Basically it's the # reference in the <a> tag throwing things back to 
the home page.  Look for the following block of code in 
pi1/class.tx_thmailformplus_pi1.php around line 730:


if ($this->multipageJS) {

  # link for next page (start/stop)
  $tempMarkerArray['###link_nextStep_start###'] = '<a href="#" 
onclick="'.$additionalJS.'set_step('.($activeStep+1).');">';
  $tempMarkerArray['###link_nextStep_stop###'] = '</a>';
  $tempMarkerArray['###submit_nextStep###'] = '';

  # link for previous page (start/stop)
  $tempMarkerArray['###link_prevStep_start###'] = '<a href="#" 
onclick="'.$additionalJS.'set_step('.($activeStep-1).')">';
  $tempMarkerArray['###link_prevStep_stop###'] = '</a>';
  $tempMarkerArray['###submit_prevStep###'] = '';

  # link for reloading the same page/step
  $tempMarkerArray['###link_reload_start###'] = '<a href="#" 
onclick="'.$additionalJS.'set_step('.$activeStep.')">';
  $tempMarkerArray['###link_reload_stop###'] = '</a>';
  $tempMarkerArray['###submit_reload###'] = '';



..and replace it with this code:


if ($this->multipageJS) {

  $request_uri = t3lib_div::getIndpEnv('REQUEST_URI').'#';

  # link for next page (start/stop)
  $tempMarkerArray['###link_nextStep_start###'] = '<a 
href="'.$request_uri.'" 
onclick="'.$additionalJS.'set_step('.($activeStep+1).');">';
  $tempMarkerArray['###link_nextStep_stop###'] = '</a>';
  $tempMarkerArray['###submit_nextStep###'] = '';

  # link for previous page (start/stop)
  $tempMarkerArray['###link_prevStep_start###'] = '<a 
href="'.$request_uri.'" 
onclick="'.$additionalJS.'set_step('.($activeStep-1).')">';
  $tempMarkerArray['###link_prevStep_stop###'] = '</a>';
  $tempMarkerArray['###submit_prevStep###'] = '';

  # link for reloading the same page/step
  $tempMarkerArray['###link_reload_start###'] = '<a 
href="'.$request_uri.'" 
onclick="'.$additionalJS.'set_step('.$activeStep.')">';
  $tempMarkerArray['###link_reload_stop###'] = '</a>';
  $tempMarkerArray['###submit_reload###'] = '';


(Please don't forget to backup pi1/class.tx_thmailformplus_pi1.php 
before you do this. :D )

I tried it and it worked for me, even with realURL active based on my 
initial testing using the JavaScript method.

Hope this helps.

God bless,

JDS


More information about the TYPO3-english mailing list