Hallo!
Das bedarf etwas Handarbeit, ist aber nicht ganz so schwer, wenn du dich mit HTML und PHP auskennst.
Im Grunde musst du zunächst der aufzurufenden URL (zum Produkt) eine Variable mitgeben.
Bsp:
https://deinshop.de/produkt?platznummer=100
Dein verstecktes Eingabefeld für die Variable kannst du einfach in ein entsprechendes Produkttemplate
({user_}views/produkttemplates/standard.phtml) packen:
Code: Alles auswählen
<input type="text" name="wpsg_mod_productvars[{ID}]" value="<?php echo sanitize_text_field($_GET['platznummer']); ?>" />
Wenn du die Option "Produktvariable(n) im Produkttemplate abfragen" aktiv hast, musst du noch das die Variable dort ausschließen. Das machst du in
{user_}views/mods/mod_productvars/renderTemplate.phtml
Code: Alles auswählen
<div class="wpsg_mod_productvars">
<?php foreach ($this->view['wpsg_mod_productvars']['data'] as $pv) {
if ($pv['id'] == {ID}) continue;
?>
<div class="wpsg_mod_productvars_row">
<div class="wpsg_mod_productvars_label">
<?php echo __($pv['name'], 'wpsg'); ?> <?php if ($pv['pflicht'] == '1') { ?><span class="wpsg_required">*</span><?php } ?>:
</div>
<div class="wpsg_mod_productvars_input">
<?php if ($pv['typ'] == '1') { // Auswahlfeld ?>
<select name="wpsg_mod_productvars[<?php echo $pv['id']; ?>]">
<option value="not_set"><?php echo __('Bitte wählen', 'wpsg'); ?></option>
<?php foreach ((array)$pv['auswahl'] as $option) { ?>
<option <?php echo ((wpsg_isSizedString($pv['value'], wpsg_hspc($option)))?'selected="selected"':''); ?> value="<?php echo wpsg_hspc($option); ?>"><?php echo wpsg_hspc($option); ?></option>
<?php } ?>
</select>
<?php } else if ($pv['typ'] == '2') { // Textfeld ?>
<input type="text" name="wpsg_mod_productvars[<?php echo $pv['id']; ?>]" value="<?php echo wpsg_hspc(wpsg_getStr($pv['value'])); ?>" />
<?php } else if ($pv['typ'] == '3') { // Checkbox ?>
<input type="hidden" value="0" name="wpsg_mod_productvars[<?php echo $pv['id']; ?>]" />
<input <?php echo ((wpsg_isSizedString($pv['value'], '1'))?'checked="checked"':''); ?> type="checkbox" value="1" name="wpsg_mod_productvars[<?php echo $pv['id']; ?>]" />
<?php } else if ($pv['typ'] == '4') { // Mehrzeiliges Textfeld ?>
<textarea rows="5" name="wpsg_mod_productvars[<?php echo $pv['id']; ?>]"><?php echo wpsg_hspc(wpsg_getStr($pv['value'])); ?></textarea>
<?php } ?>
</div>
</div>
<?php } ?>
</div>
Die Variable wird dann in den Mails, Warenkorb und Bestellzusammenfassung angezeigt. Wenn du sie dort auch ausschließen willst, musst du dir folgende Templates anschauen.
{user_}views/mods/mod_productvars/basket_row.phtml (Zeile eines Produktes im Warenkorb)
{user_}views/mods/mod_productvars/mail_row.phtml (TXT Mail)
{user_}views/mods/mod_productvars/mail_row_html.phtml (HTML Mail)
{user_}views/mods/mod_productvars/overview_row.phtml (Zeile eines Produktes in Bestellzusammenfassung)
Schau bitte auch dir diese Anleitung an:
https://doc.maennchen1.de/docs/wpshopge ... alisieren/