Hallo,
Der Trunk ist z.Zt. leider keine Option fuer uns, aber ich hab jetzt einen Workaround geschrieben, und zwar in der admin./modules/new_attributes_include.php Zeile 135
// Print the Current Value Name
echo '<tr class="' . $rowClass . '">';
echo '<td class="main">';
echo '<input type="checkbox" name="optionValues[]" value="' . $current_value_id .'_'.$current_product_option_id . '"' . $CHECKED . '> ' . $current_value_name . ' '; // 17.09.2012 joern42
d.h. hier wird die Option mit uebergeben in der Form valueId_optionsId, die dann einem explode() in admin/includes/modules/new_attributes_change.php ca. Zeile 45 wieder auseinander genommen wird..
// Simple, yet effective.. loop through the selected Option Values.. find the proper price & prefix.. insert.. yadda yadda yadda. for ($i = 0; $i < sizeof($_POST['optionValues']); $i++) { $ovaluse=explode("_", $_POST['optionValues'][$i]); // joern42 17.09.2012 //$query = "SELECT * FROM products_options_values_to_products_options where products_options_values_id = '" . $_POST['optionValues'][$i] . "'"; $query = "SELECT * FROM products_options_values_to_products_options where products_options_values_id = '" . $ovaluse[0] . "'"; Dann hab ich einfach in den nachfolgenden Zeilen $_POST['optionValues'][$i] durch $ovaluse[0] ersetzt und den SQL INSERT entsprechend geaendert:
xtc_db_query
("INSERT INTO ".TABLE_PRODUCTS_ATTRIBUTES
." (products_id,
options_id,
options_values_id,
options_values_price,
price_prefix,
attributes_model,
attributes_stock,
options_values_weight,
weight_prefix,
sortorder
) VALUES (
'" . $_POST['current_product_id'] . "',
'" . $ovaluse[1] . "',
'" . $ovaluse[0] . "',
'" . $value_price . "',
'" . $value_prefix . "',
'" . $value_model . "',
'" . $value_stock . "',
'" . $value_weight . "',
'" . $value_weight_prefix . "',
'".$value_sortorder."'
)
") or
die(mysql_error()); Scheint zu klappen, bzw. mein Chef sagt, er konnte alle Optionen entsprechend setzen..
Gruesse, Joern
EDIT:
ps: das tritt bei uns im System auf, das sehr alt ist und sehr viele Optionen hat.. es kann gut sein, dass unsere Datenbank ("
Tutorial: Optionen und Attribute in Datenbank") nicht so ist, wie sie sein sollte... also: bei mir funktionierts, aber keine Garantie, dass es fehlerfrei ist.
[
EDIT Tomcraft 13.01.2020: Link auf eigenes Wiki geändert, da alter Link nicht mehr verfügbar.]