Hallo,
habe zwei neue Felder im Warenkorb für “Bitte kontaktieren Sie mich vor Ausführung der Bestellung.” (checkbox) und “Ihre Notizen zu dieser Bestellung” (textarea) angelegt.
Die Werte werden korrekt gespeichert und wenn man schon angemeldet ist, oder sich während des Bestellprozesses anmeldet.
Wenn man während des Bestellvorgangs einen neues Konto anlegt, gehen die Werte aber verloren.
Hier der Code im basket.tpl
<!-- Vor Ausführung benachrichtigen -->
<input type="checkbox" name="basket_notice_me" id="basket_notice_me" class="chkbxBask" [{if $bNoticeMe }]checked="checked"[{/if}] value="1" />
<label class="chkbx2" id="basket_notice_me_label">[{ oxmultilang ident="BASKET_ORDERINFO_05" }]</label>
<br class="clear" />
<!-- Notizen -->
<textarea name="basket_notice_text" id="basket_notice_text">[{if $sNoticeText}][{ $sNoticeText }][{else}][{ oxmultilang ident="BASKET_ORDERINFO_06" }][{/if}]</textarea>
<br class="clear" />
…der aus der basket-View
// Add notice params to session
if ((string) oxConfig::getParameter('fnc') == 'changebasket') {
oxSession::setVar('notice_before', oxConfig::getParameter('basket_notice_me'));
oxSession::setVar('notice_text', oxConfig::getParameter('basket_notice_text'));
}
// Remove notice params from session
if (!$this->getBasketArticles()) {
oxSession::setVar('notice_before', FALSE);
oxSession::setVar('notice_text', '');
}
...
// Set template data
$this->_aViewData['bNoticeMe'] = (bool) oxSession::getVar('notice_before');
$this->_aViewData['sNoticeText'] = (string) oxSession::getVar('notice_text');
…und der aus der user-View:
if ((string) oxConfig::getParameter('fnc') == 'changebasket') {
oxSession::setVar('notice_before', oxConfig::getParameter('basket_notice_me'));
oxSession::setVar('notice_text', oxConfig::getParameter('basket_notice_text'));
}
Wird bei der Registrierung eine neue Session angelegt, in die ich die Werte explizit übernehmen muss? An welcher Stelle müßte ich das dann tun? oxcmp_user.php,…?
Grüße
Stefan