Artikelnummer von producatmain.tpl an das Kontaktformular (contact.tpl) übergeben im Nachrichtenfeld

Hallo liebe Oxidgemeinde,

ich möchte eine Art Reservierbutton für den Shop machen. Der Reservierbutton sollte die Artikelnummer mitliefern und in das Kontaktormular Nachrichten Feld reinschreiben. Der Code in der productmain.tpl:

[{assign var=resartnum value= $oDetailsProduct->oxarticles__oxartnum->value}]

[{php}]
$resartnum=& $this->get_template_vars('resartnum');
[{/php}]
<div class="input-group-tweak">                                 
[{php}]
   echo   '<a href="http://oxid.p538011.webspaceconfig.de/kontakt/?shp=20data='.$resartnum.'" 
<button id="res"   type="submit"  class="btn btn-primary submitButton largeButton">Reservieren</button></a>';
[{/php}]
</div>

Damit bringe ich die Artnum in die Url, aber komme danach nicht mehr weiter.

Mit freundlichen Grüßen
Michael Sieberer

Sehr umständlich, denn dazu brauchst kein php in Smarty. Du kannst den Wert direkt in den Link schreiben, allerdings fehlt da ein “&”:

<a href="http://oxid.p538011.webspaceconfig.de/kontakt/?shp=20&data=[{$oDetailsProduct->oxarticles__oxartnum->value}]

Aber gut, wenn der Link funktioniert, brauchst im Formular-Controller nur den Wert für data mit getRequestParameter(‘data’); abrufen und kannst die Nummer verarbeiten.

Tip: Per Formular und Postdata und einem hidden-Field ist eleganter :wink:

versuch mal [{$smarty.get.data}] im Formular einzubauen

Vielen Dank rubbercut und vanilla_thunder für die raschen Antworten und auch für das bearbeiten meines Forumthreads.

Ja die Smarty-Variante ist etwas ‘eleganter’ als mit PHP.

Der Abschluss bereitet mir noch Probleme. Mit getRequestParameter(‘data’); gibt es mir dann den ganzen contact.tpl Code im Formular aus.

Mit [{$smarty.get.data}] passiert leider nix und die ensprechende Stelle bleibt leer.

  <div class="col-lg-10 controls">
              <textarea      value="[{$smarty.get.data}]"
                        rows="15"
                          cols="70"
                          name="c_message"
                          id="c_message"
                          class="form-control"
                         
                          [{if $contactFormFields.message.isRequired}]required="required"[{/if}]
               
                >Ich möchte das Bett mit der Artikelnummer [{$smarty.get.data}] reservieren.
                </textarea> 
        </div>

Sonnige Grüße
Michael

Sorry, oben steht im formular. Den Wert müsste man mit getRequestParameter(‘data’); in der render() Methode verarbeiten.

hast du tmp/ geleert?
ich habe bei mir das hier auf der Produktseite eingefügt:
<a href="/kontakt/?data=[{$oDetailsProduct->oxarticles__oxartnum->value}]">Produkt reservieren</a>
und das hier im Kontaktformular:
<textarea...>Ich möchte Artikel [{$smarty.get.data}] reservieren</textarea>
und es funktioniert einwandfrei

Vielen Dank.

Ja funktioniert einwandfrei, habe nur ein & Zeichen vergessen zwischen ?shp=20 und data.
Threat closed.

Sonnige Grüße
Michael Sieberer