[TYPO3-commerce] no new address possible
Philipp Holdener
philipp at holdener.ch
Wed Sep 2 15:47:22 CEST 2009
Hello dimitri
thanks for that hint!
I'll say it to our programmer...
Thanks
Greetings
Philipp
> we had the same problem except of going live and everything works fine.
> commerce 0.9.8 has a bug in commerce_pi4 which is responsible for
> address management. there the backpid pivar is used as page for the form
> action field. so any change will be sent to the page from which you are
> coming. and if that page does not contain a commerce_pi4 plugin no
> change will be saved.
>
> there are several solutions:
> 1. in your checkout page you put a link to the address management
> page which does not contain a backpid in the url. there you make any
> change you want and click on a link which brings you back to your
> checkout page.
> 2. in your checkout page you put the commerce_pi4 address management
> plugin above your checkout plugin and set it to display none so any
> change will be intercepted by the commerce_pi4 plugin and when the
> checkout plugin fetches the addresses you get what you want.
> 3. you update to the svn version :-)
> 4. you replace in the class.tx_commerce_pi4.php, method
> "getAddressForm" the following:
>
> old:
> ----
> // get action link
> if ((int)$this->piVars['backpid']>0){
> $link = $this->pi_getPageLink($this->piVars['backpid']);
> } else {
> $link = '';
> }
>
> return '<form method="post" action="' .$link .'">'
> .$this->cObj->substituteMarkerArray($tplBase, $baseMA) .'</form>';
>
> new:
> ----
> // Get action link
> if ((int)$this->piVars['backpid'] > 0) {
> $link = $this->pi_linkTP_keepPIvars_url();
> } else {
> $link = '';
> }
>
> $baseMA['###ADDRESS_FORM_BACK###'] = $this->pi_linkToPage(
> $this->pi_getLL('label_form_back', 'back'),
> $this->piVars['backpid'],
> '',
> array(
> 'tx_commerce_pi3' => array(
> 'step' => $GLOBALS['TSFE']->fe_user->getKey('ses',
> tx_commerce_div::generateSessionKey('currentStep'))
> )
> )
> );
>
> return '<form method="post" action="' . $link . '" ' .
> $this->conf[addressType . '.']['formParams'] . '>' .
> $this->cObj->substituteMarkerArray($tplBase, $baseMA) . '</form>';
>
>
>
> -dk
More information about the TYPO3-project-commerce
mailing list