Bestellvariablen (Auswahlbox) im Template "Checkout"

Hier findest du alle Fragen zu besonderen Anpassungen an den Templates oder Wordpress selber

Moderatoren: maennchen1.de, wpShopGermany Moderator

Antworten
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Bestellvariablen (Auswahlbox) im Template "Checkout"

Beitrag von MKJ »

Wie bei den Tutorials beschrieben, können im Checkout-Prozess Bestellvariablen übergeben werden. Der Code dafür steht im Tutorial. Damit das z.B. bei einer Auswahlbox ("Wie haben Sie uns gefunden?") auch zum Layout passt, muss man den Code leicht abwandeln. Sinnvollerweise ändert man die checkout.phtml.

Man sucht:

Code: Alles auswählen

	<?php } ?>		

		<tr>

			<td colspan="3">&nbsp;</td>

		</tr>

		<?php foreach ($this->arMod as $m) { ?>

		<?php echo $m; ?>

		<?php } ?>

		<tr>
und fügt davor ein:

Code: Alles auswählen

                            <?php /* BEGINN Block für die Bestellvariablen */ ?>
 <?php if (array_key_exists("mod_bestellvars", $this->mods)) { ?>
 <tr><td colspan="3">&nbsp;</td></tr>
 <?php foreach ($this->arBV as $k => $v) { ?>        
 <tr>
 <td>
 <label for="wpsg_ov_<?php echo $v['id']; ?>"><?php echo $v['name']?> <span class="wpshopgermany_required">*</span></label>
 </td>
 </tr>
 <tr>
 <td style="line-height:22px;">
 <?php if ($v['typ'] == "1") { $arValues = explode("|", $v['auswahl']); // Auswahl ?>
 <select id="wpsg_ov_<?php echo $v['id']; ?>" name="wpsg_ov[<?php echo $v['id']; ?>]" style="margin:0px; width:100%; margin-bottom:3px;">
 <option value="-1"><?php echo __("Bitte auswählen.", "wpsg"); ?></option>
 <?php foreach ((array)$arValues as $k2 => $v2) { ?>
 <option <?php echo (($v['value'] == $v2)?'selected="selected"':''); ?> value="<?php echo $v2; ?>"><?php echo $v2; ?></option>
 <?php } ?>
 </select>
 <?php } else if ($v['typ'] == "2") { // Textfeld ?>
 <input value="<?php echo $v['value']; ?>" id="wpsg_ov_<?php echo $v['id']; ?>" type="text" name="wpsg_ov[<?php echo $v['id']; ?>]" style="margin:0px; width:100%; margin-bottom:3px;" />
 <?php } else if ($v['typ'] == "3") { // Checkbox ?>
 <input type="hidden" name="wpsg_ov_<?php echo $v['id']; ?>" value="0" />
 <input <?php echo (($v['value'] == "1")?'checked="checked"':''); ?> id="wpsg_ov_<?php echo $v['id']; ?>" type="checkbox" value="1" name="wpsg_ov[<?php echo $v['id']; ?>]" />
 <?php } ?>
 </td>
 </tr>
 <?php } } ?>
 <?php /* END */ ?>
Damit ist dann das Layout einheitlich. Außerdem habe ich noch den Stern eigefügt, falls man das Modul auf Pflichtfeld gestellt hat. Die Auswahlbox erscheint dann schön unter der Box für das Land.
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Antworten