Hallo Leutz,
für ein Projekt benötige ich in einem ISOTOPE-Shop die Möglichkeit die Artikelanzahl als DropDown darzusellen.
Als QuicknDirty-Lösung habe ich mir folgendes zusammengebaut:
Ich habe per php.MyAdmin händisch in die Tabelle tl_iso_products eine neue Spalte names drop_id angelegt und in meinem Template verwende ich folgenden Code:
Code:
<form action="<?php echo $this->action; ?>" id="<?php echo $this->formId; ?>" name="iso<?php echo rand(); ?>" method="post" enctype="<?php echo $this->enctype; ?>">
<div class="formbody">
<input type="hidden" name="FORM_SUBMIT" value="<?php echo $this->formSubmit; ?>">
<input type="hidden" name="REQUEST_TOKEN" value="{{request_token}}">
<h2><?php echo $this->name; ?></h2>
<?php echo $this->images->generateMainImage('medium'); ?>
<?php if($this->hasOptions): ?>
<div class="options">
<?php foreach( $this->options as $arrOption ): echo $arrOption['html']; endforeach; ?>
</div>
<?php endif; ?>
<?php echo $this->images->generateGallery(); ?>
<?php if ($this->sku):
?>
<div class="sku"><?php echo $this->sku;?></div><?php endif; if ($this->description): ?>
<div class="description"><?php echo $this->description; ?></div><?php endif; ?>
<div class="price"><?php echo $this->price; ?></div>
<?php if($this->buttons): ?>
<div class="submit_container">
<?php if ($this->useQuantity): ?>
<div class="quantity_container">
if($this->drop_id == '2')
{
?>
<label for="quantity_requested_<?php echo $this->raw['id']; ?>"><?php echo $this->quantityLabel; ?>:</label>
<select id="quantity_requested_<?php echo $this->raw['id']; ?>" name="quantity_requested" onblur="if (this.value=='') { this.value='1'; }" onfocus="if (this.value=='1') { this.value=''; }">
<option value="250">250</option>
<option value="500">500</option>
<option value="750">750</option>
<option value="1000">1000</option>
<option value="1250">1250</option>
<option value="1500">1500</option>
<option value="1750">1750</option>
<option value="2000">2000</option>
<option value="2500">2500</option>
<option value="3000">3000</option>
<option value="3500">3500</option>
<option value="4000">4000</option>
<option value="4500">4500</option>
<option value="5000">5000</option>
<option value="5500">5500</option>
<option value="6000">6000</option>
<option value="6500">6500</option>
<option value="7000">7000</option>
<option value="7500">7500</option>
<option value="8000">8000</option>
<option value="8500">8500</option>
<option value="9000">9000</option>
<option value="9500">9500</option>
<option value="10000">10000</option>
</select>
<?php
}
else if($this->drop_id == 3)
{
?>
<label for="quantity_requested_<?php echo $this->raw['id']; ?>"><?php echo $this->quantityLabel; ?>:</label>
<select id="quantity_requested_<?php echo $this->raw['id']; ?>" name="quantity_requested" onblur="if (this.value=='') { this.value='1'; }" onfocus="if (this.value=='1') { this.value=''; }">
<option value="500">500</option>
<option value="750">750</option>
<option value="1000">1000</option>
<option value="1250">1250</option>
<option value="1500">1500</option>
<option value="1750">1750</option>
<option value="2000">2000</option>
<option value="2500">2500</option>
<option value="3000">3000</option>
<option value="3500">3500</option>
<option value="4000">4000</option>
<option value="4500">4500</option>
<option value="5000">5000</option>
<option value="5500">5500</option>
<option value="6000">6000</option>
<option value="6500">6500</option>
<option value="7000">7000</option>
<option value="7500">7500</option>
<option value="8000">8000</option>
<option value="8500">8500</option>
<option value="9000">9000</option>
<option value="9500">9500</option>
<option value="10000">10000</option>
</select>
<?php
}
else if($this->drop_id == 4)
{
?>
<label for="quantity_requested_<?php echo $this->raw['id']; ?>"><?php echo $this->quantityLabel; ?>:</label>
<select id="quantity_requested_<?php echo $this->raw['id']; ?>" name="quantity_requested" onblur="if (this.value=='') { this.value='1'; }" onfocus="if (this.value=='1') { this.value=''; }">
<option value="1000">1000</option>
<option value="1250">1250</option>
<option value="1500">1500</option>
<option value="1750">1750</option>
<option value="2000">2000</option>
<option value="2500">2500</option>
<option value="3000">3000</option>
<option value="3500">3500</option>
<option value="4000">4000</option>
<option value="4500">4500</option>
<option value="5000">5000</option>
<option value="5500">5500</option>
<option value="6000">6000</option>
<option value="6500">6500</option>
<option value="7000">7000</option>
<option value="7500">7500</option>
<option value="8000">8000</option>
<option value="8500">8500</option>
<option value="9000">9000</option>
<option value="9500">9500</option>
<option value="10000">10000</option>>
</select>
<?php
}
else {
?>
<label for="quantity_requested_<?php echo $this->raw['id']; ?>"><?php echo $this->quantityLabel; ?>:</label> <input type="text" class="text" id="quantity_requested_<?php echo $this->raw['id']; ?>" name="quantity_requested" value="<?php echo $this->quantity_requested; ?>" maxlength="10" onblur="if (this.value=='') { this.value='1'; }" onfocus="if (this.value=='1') { this.value=''; }">
<?php
}
?>
<?php endif; ?>
<?php foreach( $this->buttons as $name => $button ): ?>
<input type="submit" class="submit <?php echo $name; ?>" name="<?php echo $name; ?>" value="<?php echo $button['label']; ?>">
<?php endforeach; ?>
</div>
<?php endif; ?>
</div>
</form>
Nur das funktionier leider nicht.Wo liegt mein Fehler?Es wird mir nun das normale Textfeld ausgegeben und nicht das DropDown!
Bin für jeden Tip dankbar
Basti
Lesezeichen