Die Module welche nachträglich im Shop installiert bzw. aktiviert werden, haben am Ende des Quellcodes immer eine ganze Litanei an INSERT INTO - Queries.
So sieht es zum Beispiel in der ot_coupon.php aus.
function install() {
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function, date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_STATUS', 'true', '6', '1','xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_SORT_ORDER', '25', '6', '2', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_INC_SHIPPING', 'false', '6', '5', 'xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_INC_TAX', 'true', '6', '6','xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_CALC_TAX', 'Standard', '6', '7','xtc_cfg_select_option(array(\'None\', \'Standard\'), ', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, use_function, set_function, date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_TAX_CLASS', '0', '6', '0', 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(', now())");
xtc_db_query("insert into ".TABLE_CONFIGURATION." (configuration_id, configuration_key, configuration_value, configuration_group_id, sort_order, set_function ,date_added) values ('', 'MODULE_ORDER_TOTAL_COUPON_SPECIAL_PRICES', 'false', '6', '5', 'xtc_cfg_select_option(array(\'true\', \'false\'), ', now())");
}
Sähe es so nicht, knackiger und lesbarer aus?
function install() {
xtc_db_query("
INSERT INTO " . TABLE_CONFIGURATION . " (configuration_key, configuration_value, configuration_group_id, sort_order, date_added, use_function, set_function) VALUES
('MODULE_ORDER_TOTAL_COUPON_STATUS', 'true', '6', '1', now(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),' ),
('MODULE_ORDER_TOTAL_COUPON_SORT_ORDER', '25', '6', '2', now(), NULL, NULL),
('MODULE_ORDER_TOTAL_COUPON_INC_TAX', 'true', '6', '6', now(), NULL, xtc_cfg_select_option(array(\'true\', \'false\'),' ),
('MODULE_ORDER_TOTAL_COUPON_INC_SHIPPING', 'false', '6', '5', now(), NULL, 'xtc_cfg_select_option(array(\'true\', \'false\'),' ),
('MODULE_ORDER_TOTAL_COUPON_CALC_TAX', 'Standard', '6', '7', now(), NULL, 'xtc_cfg_select_option(array(\'None\', \'Standard\'),' ),
('MODULE_ORDER_TOTAL_COUPON_TAX_CLASS', '0', '6', '0', now(), 'xtc_get_tax_class_title', 'xtc_cfg_pull_down_tax_classes(' ),
('MODULE_ORDER_TOTAL_COUPON_SPECIAL_PRICES', 'false', '6', '5', now(), 'xtc_cfg_select_option(array(\'true\', \'false\'), ')
");
}
Zumal die INSERT's, wenn man unter Laborbedingungen messen würde, auch schneller abgearbeitet werden. Man beachte auch die richtige Reihenfolge der Spaltennamen im INSERT INTO. Zumindest hat mir mein DB-Dozent immer gepredigt, nicht nur die Anzahl einzuhalten, welche man braucht, sondern auch die Reihenfolge innerhalb der Tabelle.
Gruß
Ronny
Linkback: https://www.modified-shop.org/forum/index.php?topic=19616.0