Haben Sie eine Funktion in meiner Funktionen.phpWie wird die Menge in einem Einkaufswagen in einem ausgewählten Artikel aktualisiert?
Dies wird die Quantie Eingabe in das Dropdown mit den spezifischen Werten ändern.
function woocommerce_quantity_input($data) {
global $product;
$defaults = array(
'input_name' => $data['input_name'],
'input_value' => $data['input_value'],
'max_value' => apply_filters('woocommerce_quantity_input_max', '', $product),
'min_value' => apply_filters('woocommerce_quantity_input_min', '', $product),
'step' => apply_filters('woocommerce_quantity_input_step', '1', $product),
'style' => apply_filters('woocommerce_quantity_style', 'float:left; margin-right:10px;', $product)
);
if (! empty($defaults['min_value']))
$min = $defaults['min_value'];
else $min = 1;
if (! empty($defaults['max_value']))
$max = $defaults['max_value'];
else $max = 20;
if (! empty($defaults['step']))
$step = $defaults['step'];
else $step = 1;
$options = '';
for ($count = $min; $count <= $max; $count = $count+$step) {
$selected = $count === $defaults['input_value'] ? ' selected' : '';
$options .= '<option value="' . $count . '"'.$selected.'>' . $count . '</option>';
}
echo '<div class="quantity_select" style="' . $defaults['style'] . '"><select name="' . esc_attr($defaults['input_name']) . '" title="' . _x('Qty', 'Product quantity input tooltip', 'woocommerce') . '" class="qty">' . $options . '</select></div>';
}
Das Problem mit dieser Funktion ist, dass es so gut und setzt standardmäßig auf 1.
Benutzer Fall auch quanity wechselt in Warenkorb auf Dropdown:
Benutzer wählt 1.5 Menge des Produkts, die Kosten 10 $ auf der einzelnen Produktseite. Dann geht es zur Kasse. Dann im Warenkorb gibt es einen Preis von 15 $ und die Menge ist 1.
Ich sehe zwei Möglichkeiten, es zu beheben.
Man enthält die Funktion nur für einzelne Seite, aber nicht sicher, wie es gemacht wird. Versucht mit if $ product-> type == 'product' innerhalb der Funktion, aber da diese die ursprüngliche überschreibt, wird das Dropdown auf der Warenkorbseite überhaupt nicht angezeigt.
Am besten aktualisieren Sie das Dropdown-Menü mit dem ausgewählten Betrag/Wert im Warenkorb.
Alle Tipps oder Hilfe wäre willkommen.
Vielen Dank im Voraus!
EDIT: var_dump ($ Daten) Ausgabe;
array(4) { ["input_name"]=> string(43) "cart[ec3686cdd117b8c6b8992f22e04a415b][qty]" ["input_value"]=> int(1) ["max_value"]=> NULL ["min_value"]=> string(1) "0" } 1
nachdem der Wert in den Warenkorb gelegt, die input_value Aktualisierprozesses schweben:
array(4) { ["input_name"]=> string(43) "cart[ec3686cdd117b8c6b8992f22e04a415b][qty]" ["input_value"]=> float(2.2) ["max_value"]=> NULL ["min_value"]=> string(1) "0" } 2.2
Kann der Benutzer nur ganze Zahlen auswählen oder möchten Sie Dezimalwerte unterstützen? – sjdaws
Benutzer sollte Dezimalstellen ja verwenden können. – Giedrius
Können Sie die Werte für jede Variable ausgeben, insbesondere "$ step"? – sjdaws