Hallo,
ich habe folgendes vor. Ich möchte in der Detailansicht (details.tpl) ein textarea platzieren, in dem beliebig viele Zeichen eingetragen werden können. Der Inhalt wird dann bei klick auf “In den Warenkorb” in den Warenkorb gelegt. Dort kann man den Text (für eine Grußkarte) auch ändern.
Das habe ich mit Hilfe von persparam und der Beispieldatei details_persparam.tpl auch hinbekommen und es funktioniert.
[B]detail.tpl[/B]
<div class="persparam">
<label>[{ oxmultilang ident="DETAILS_PERSPARAM_LABEL" }]</label>
<textarea name="persparam[Beschriftung]">[{ $product->aPersistParam.text }]</textarea>
</div>
Weiter oben in der details.tpl habe ich ein hidden-Feld ergänzt
<input type="hidden" name="sg_geschenk_id" value="886103cac96baa2ba3a93c29c4c1567d">
Im Warenkorb wird der Text wieder so ausgegeben (basket.tpl). Oder brauch ich das gar nicht?:
[{foreach key=sVar from=$basketitem->getPersParams() item=aParam }]
<b>[{ $sVar }]:</b>
<textarea name="aproducts[[{ $basketindex }]][persparam][[{ $sVar }]]">[{ $aParam }]</textarea><br>
[{/foreach }]
Mein Problem ist nun, dass dieser Text, den man dort hinterlassen kann zusätzliche Kosten von X Euro hervorruft. Dazu habe ich einen Artikel angelegt, der zusätzlich in den Warenkorb hineingelegt werden soll, wenn in dem Textarea Text steht. Ich habe gelesen, dass ich dazu die oxcmp_basket->tobasket erweitern muss, damit dieser Artikel hinzugefügt wird. Nur leider weiß ich nicht genau wie. Ich habe im alten Forum einen Beitrag gefunden, der das ungefähr beschreibt. Ich habe es etwas dem neuem Code angepasst:
$aid = $myConfig->getParameter( "sg_geschenk_id");
if( isset( $aid) && $aid)
{ $aPersParam = oxSession::getVar( 'persparam' );
$aData['sg_geschenk_id'] = $aid;
$aPersParam[$sProductID] = $aData;
//$mySession->SetVar( "persparam", $aPersParam );
oxSession::setVar( 'persparam', $aPersParam );
}
Es funktioniert nleider noch nicht. Ich weiß auch nicht, wo genau ich es in der tobasket platzieren soll (ich weiß, ich sollte es auslagern, aber ich möchte erst mal generell testen, ob das überhaupt geht) bzw. was ich noch machen muss, um mein Ziel zu erreichen?
Hat jemand einen Tipp?
Danke,
Kathrin